|
1850 | 1850 | Assert.isInstanceOf(SelectorPart, result.parts[0], "First part should be a SelectorPart."); |
1851 | 1851 | Assert.areEqual("#1a2b3c", result.parts[0].toString(), "Selector should be correct."); |
1852 | 1852 | Assert.areEqual(1, result.parts.length, "Should be one part."); |
1853 | | - } |
| 1853 | + }, |
| 1854 | + |
| 1855 | + testSupportsWithSingleCondition: function(){ |
| 1856 | + var parser = new Parser({ strict: true}), |
| 1857 | + valid = true; |
| 1858 | + |
| 1859 | + parser.addListener("error", function(event) { |
| 1860 | + valid = false; |
| 1861 | + }); |
| 1862 | + |
| 1863 | + var result = parser.parse("@supports (display: table-cell) {}"); |
| 1864 | + parser._verifyEnd(); |
| 1865 | + Assert.isTrue(valid); |
| 1866 | + }, |
1854 | 1867 |
|
| 1868 | + testSupportsWithSingleNotCondition: function(){ |
| 1869 | + var parser = new Parser({ strict: true}), |
| 1870 | + valid = true; |
| 1871 | + |
| 1872 | + parser.addListener("error", function(event) { |
| 1873 | + valid = false; |
| 1874 | + }); |
| 1875 | + |
| 1876 | + var result = parser.parse("@supports not ( display: table-cell) {}"); |
| 1877 | + parser._verifyEnd(); |
| 1878 | + Assert.isTrue(valid); |
| 1879 | + }, |
| 1880 | + |
| 1881 | + testSupportsWithNestedNotCondition: function(){ |
| 1882 | + var parser = new Parser({ strict: true}), |
| 1883 | + valid = true; |
| 1884 | + |
| 1885 | + parser.addListener("error", function(event) { |
| 1886 | + valid = false; |
| 1887 | + }); |
| 1888 | + |
| 1889 | + var result = parser.parse("@supports not (not (not (display: table-cell) )) {}"); |
| 1890 | + parser._verifyEnd(); |
| 1891 | + Assert.isTrue(valid); |
| 1892 | + }, |
| 1893 | + |
| 1894 | + testSupportsAndCondition: function(){ |
| 1895 | + var parser = new Parser({ strict: true}), |
| 1896 | + valid = true; |
| 1897 | + |
| 1898 | + parser.addListener("error", function(event) { |
| 1899 | + valid = false; |
| 1900 | + }); |
| 1901 | + |
| 1902 | + var result = parser.parse("@supports (display: table-cell) and (display: flex) {}"); |
| 1903 | + parser._verifyEnd(); |
| 1904 | + Assert.isTrue(valid); |
| 1905 | + }, |
| 1906 | + |
| 1907 | + testSupportsAndFollowedByNotCondition: function(){ |
| 1908 | + var parser = new Parser({ strict: true}), |
| 1909 | + valid = true; |
| 1910 | + |
| 1911 | + parser.addListener("error", function(event) { |
| 1912 | + valid = false; |
| 1913 | + }); |
| 1914 | + |
| 1915 | + var result = parser.parse("@supports (display: table-cell) and (not (display: flex)) {}"); |
| 1916 | + parser._verifyEnd(); |
| 1917 | + Assert.isTrue(valid); |
| 1918 | + }, |
| 1919 | + |
| 1920 | + testSupportsNotFollowedByAndCondition: function(){ |
| 1921 | + var parser = new Parser({ strict: true}), |
| 1922 | + valid = true; |
| 1923 | + |
| 1924 | + parser.addListener("error", function(event) { |
| 1925 | + valid = false; |
| 1926 | + }); |
| 1927 | + |
| 1928 | + var result = parser.parse("@supports (not (display: table-cell)) and (display: flex) {}"); |
| 1929 | + parser._verifyEnd(); |
| 1930 | + Assert.isTrue(valid); |
| 1931 | + }, |
| 1932 | + |
| 1933 | + testSupportsAndAndAndCondition: function(){ |
| 1934 | + var parser = new Parser({ strict: true}), |
| 1935 | + valid = true; |
| 1936 | + |
| 1937 | + parser.addListener("error", function(event) { |
| 1938 | + valid = false; |
| 1939 | + }); |
| 1940 | + |
| 1941 | + var result = parser.parse("@supports (display: table-cell) and (display: flex) and (display: flex) {}"); |
| 1942 | + parser._verifyEnd(); |
| 1943 | + Assert.isTrue(valid); |
| 1944 | + }, |
| 1945 | + |
| 1946 | + testSupportsOrCondition: function(){ |
| 1947 | + var parser = new Parser({ strict: true}), |
| 1948 | + valid = true; |
| 1949 | + |
| 1950 | + parser.addListener("error", function(event) { |
| 1951 | + valid = false; |
| 1952 | + }); |
| 1953 | + |
| 1954 | + var result = parser.parse("@supports (display: table-cell) or (display: flex) {}"); |
| 1955 | + parser._verifyEnd(); |
| 1956 | + Assert.isTrue(valid); |
| 1957 | + }, |
| 1958 | + |
| 1959 | + testSupportsOrFollowedByNotCondition: function(){ |
| 1960 | + var parser = new Parser({ strict: true}), |
| 1961 | + valid = true; |
| 1962 | + |
| 1963 | + parser.addListener("error", function(event) { |
| 1964 | + valid = false; |
| 1965 | + }); |
| 1966 | + |
| 1967 | + var result = parser.parse("@supports (display: table-cell) or (not (display: flex)) {}"); |
| 1968 | + parser._verifyEnd(); |
| 1969 | + Assert.isTrue(valid); |
| 1970 | + }, |
| 1971 | + |
| 1972 | + testSupportsNotFollowedByOrCondition: function(){ |
| 1973 | + var parser = new Parser({ strict: true}), |
| 1974 | + valid = true; |
| 1975 | + |
| 1976 | + parser.addListener("error", function(event) { |
| 1977 | + valid = false; |
| 1978 | + }); |
| 1979 | + |
| 1980 | + var result = parser.parse("@supports (not (display: table-cell)) or (display: flex) {}"); |
| 1981 | + parser._verifyEnd(); |
| 1982 | + Assert.isTrue(valid); |
| 1983 | + }, |
| 1984 | + |
| 1985 | + testSupportsAndWithNestedOrCondition: function(){ |
| 1986 | + var parser = new Parser({ strict: true}), |
| 1987 | + valid = true; |
| 1988 | + |
| 1989 | + parser.addListener("error", function(event) { |
| 1990 | + valid = false; |
| 1991 | + }); |
| 1992 | + |
| 1993 | + var result = parser.parse("@supports (display: table-cell) and ((display: flex) or (display: table)) {}"); |
| 1994 | + parser._verifyEnd(); |
| 1995 | + Assert.isTrue(valid); |
| 1996 | + }, |
| 1997 | + |
| 1998 | + testSupportsAndWithNestedComplexOrCondition: function(){ |
| 1999 | + var parser = new Parser({ strict: true}), |
| 2000 | + valid = true; |
| 2001 | + |
| 2002 | + parser.addListener("error", function(event) { |
| 2003 | + valid = false; |
| 2004 | + }); |
| 2005 | + |
| 2006 | + var result = parser.parse("@supports (display: table-cell) and ((display: flex) or ((display: table) and (not (position: absolute)))) {}"); |
| 2007 | + parser._verifyEnd(); |
| 2008 | + Assert.isTrue(valid); |
| 2009 | + } |
1855 | 2010 | })); |
1856 | 2011 |
|
1857 | 2012 | suite.add(new YUITest.TestCase({ |
|
0 commit comments