|
1912 | 1912 | Assert.isInstanceOf(SelectorPart, result.parts[0], "First part should be a SelectorPart."); |
1913 | 1913 | Assert.areEqual("#1a2b3c", result.parts[0].toString(), "Selector should be correct."); |
1914 | 1914 | Assert.areEqual(1, result.parts.length, "Should be one part."); |
1915 | | - } |
| 1915 | + }, |
| 1916 | + |
| 1917 | + testSupportsWithSingleCondition: function(){ |
| 1918 | + var parser = new Parser({ strict: true}), |
| 1919 | + valid = true; |
| 1920 | + |
| 1921 | + parser.addListener("error", function(event) { |
| 1922 | + valid = false; |
| 1923 | + }); |
| 1924 | + |
| 1925 | + var result = parser.parse("@supports (display: table-cell) {}"); |
| 1926 | + parser._verifyEnd(); |
| 1927 | + Assert.isTrue(valid); |
| 1928 | + }, |
1916 | 1929 |
|
| 1930 | + testSupportsWithSingleNotCondition: function(){ |
| 1931 | + var parser = new Parser({ strict: true}), |
| 1932 | + valid = true; |
| 1933 | + |
| 1934 | + parser.addListener("error", function(event) { |
| 1935 | + valid = false; |
| 1936 | + }); |
| 1937 | + |
| 1938 | + var result = parser.parse("@supports not ( display: table-cell) {}"); |
| 1939 | + parser._verifyEnd(); |
| 1940 | + Assert.isTrue(valid); |
| 1941 | + }, |
| 1942 | + |
| 1943 | + testSupportsWithNestedNotCondition: function(){ |
| 1944 | + var parser = new Parser({ strict: true}), |
| 1945 | + valid = true; |
| 1946 | + |
| 1947 | + parser.addListener("error", function(event) { |
| 1948 | + valid = false; |
| 1949 | + }); |
| 1950 | + |
| 1951 | + var result = parser.parse("@supports not (not (not (display: table-cell) )) {}"); |
| 1952 | + parser._verifyEnd(); |
| 1953 | + Assert.isTrue(valid); |
| 1954 | + }, |
| 1955 | + |
| 1956 | + testSupportsAndCondition: function(){ |
| 1957 | + var parser = new Parser({ strict: true}), |
| 1958 | + valid = true; |
| 1959 | + |
| 1960 | + parser.addListener("error", function(event) { |
| 1961 | + valid = false; |
| 1962 | + }); |
| 1963 | + |
| 1964 | + var result = parser.parse("@supports (display: table-cell) and (display: flex) {}"); |
| 1965 | + parser._verifyEnd(); |
| 1966 | + Assert.isTrue(valid); |
| 1967 | + }, |
| 1968 | + |
| 1969 | + testSupportsAndFollowedByNotCondition: function(){ |
| 1970 | + var parser = new Parser({ strict: true}), |
| 1971 | + valid = true; |
| 1972 | + |
| 1973 | + parser.addListener("error", function(event) { |
| 1974 | + valid = false; |
| 1975 | + }); |
| 1976 | + |
| 1977 | + var result = parser.parse("@supports (display: table-cell) and (not (display: flex)) {}"); |
| 1978 | + parser._verifyEnd(); |
| 1979 | + Assert.isTrue(valid); |
| 1980 | + }, |
| 1981 | + |
| 1982 | + testSupportsNotFollowedByAndCondition: function(){ |
| 1983 | + var parser = new Parser({ strict: true}), |
| 1984 | + valid = true; |
| 1985 | + |
| 1986 | + parser.addListener("error", function(event) { |
| 1987 | + valid = false; |
| 1988 | + }); |
| 1989 | + |
| 1990 | + var result = parser.parse("@supports (not (display: table-cell)) and (display: flex) {}"); |
| 1991 | + parser._verifyEnd(); |
| 1992 | + Assert.isTrue(valid); |
| 1993 | + }, |
| 1994 | + |
| 1995 | + testSupportsAndAndAndCondition: function(){ |
| 1996 | + var parser = new Parser({ strict: true}), |
| 1997 | + valid = true; |
| 1998 | + |
| 1999 | + parser.addListener("error", function(event) { |
| 2000 | + valid = false; |
| 2001 | + }); |
| 2002 | + |
| 2003 | + var result = parser.parse("@supports (display: table-cell) and (display: flex) and (display: flex) {}"); |
| 2004 | + parser._verifyEnd(); |
| 2005 | + Assert.isTrue(valid); |
| 2006 | + }, |
| 2007 | + |
| 2008 | + testSupportsOrCondition: function(){ |
| 2009 | + var parser = new Parser({ strict: true}), |
| 2010 | + valid = true; |
| 2011 | + |
| 2012 | + parser.addListener("error", function(event) { |
| 2013 | + valid = false; |
| 2014 | + }); |
| 2015 | + |
| 2016 | + var result = parser.parse("@supports (display: table-cell) or (display: flex) {}"); |
| 2017 | + parser._verifyEnd(); |
| 2018 | + Assert.isTrue(valid); |
| 2019 | + }, |
| 2020 | + |
| 2021 | + testSupportsOrFollowedByNotCondition: function(){ |
| 2022 | + var parser = new Parser({ strict: true}), |
| 2023 | + valid = true; |
| 2024 | + |
| 2025 | + parser.addListener("error", function(event) { |
| 2026 | + valid = false; |
| 2027 | + }); |
| 2028 | + |
| 2029 | + var result = parser.parse("@supports (display: table-cell) or (not (display: flex)) {}"); |
| 2030 | + parser._verifyEnd(); |
| 2031 | + Assert.isTrue(valid); |
| 2032 | + }, |
| 2033 | + |
| 2034 | + testSupportsNotFollowedByOrCondition: function(){ |
| 2035 | + var parser = new Parser({ strict: true}), |
| 2036 | + valid = true; |
| 2037 | + |
| 2038 | + parser.addListener("error", function(event) { |
| 2039 | + valid = false; |
| 2040 | + }); |
| 2041 | + |
| 2042 | + var result = parser.parse("@supports (not (display: table-cell)) or (display: flex) {}"); |
| 2043 | + parser._verifyEnd(); |
| 2044 | + Assert.isTrue(valid); |
| 2045 | + }, |
| 2046 | + |
| 2047 | + testSupportsAndWithNestedOrCondition: function(){ |
| 2048 | + var parser = new Parser({ strict: true}), |
| 2049 | + valid = true; |
| 2050 | + |
| 2051 | + parser.addListener("error", function(event) { |
| 2052 | + valid = false; |
| 2053 | + }); |
| 2054 | + |
| 2055 | + var result = parser.parse("@supports (display: table-cell) and ((display: flex) or (display: table)) {}"); |
| 2056 | + parser._verifyEnd(); |
| 2057 | + Assert.isTrue(valid); |
| 2058 | + }, |
| 2059 | + |
| 2060 | + testSupportsAndWithNestedComplexOrCondition: function(){ |
| 2061 | + var parser = new Parser({ strict: true}), |
| 2062 | + valid = true; |
| 2063 | + |
| 2064 | + parser.addListener("error", function(event) { |
| 2065 | + valid = false; |
| 2066 | + }); |
| 2067 | + |
| 2068 | + var result = parser.parse("@supports (display: table-cell) and ((display: flex) or ((display: table) and (not (position: absolute)))) {}"); |
| 2069 | + parser._verifyEnd(); |
| 2070 | + Assert.isTrue(valid); |
| 2071 | + } |
1917 | 2072 | })); |
1918 | 2073 |
|
1919 | 2074 | suite.add(new YUITest.TestCase({ |
|
0 commit comments