diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/postprocessor_test.js | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/test/postprocessor_test.js b/test/postprocessor_test.js index 715706c..2878ed6 100644 --- a/test/postprocessor_test.js +++ b/test/postprocessor_test.js @@ -41,20 +41,36 @@ exports.mq4HoverShim = { ); test.done(); }, - 'skips media queries with ORs': function (test) { + 'skips media queries with only a media type': function (test) { test.expect(1); test.deepEqual( + postprocessor.process("@media screen { .foobar { display: none; } }", {hoverSelectorPrefix: 'PREFIX>'}).css, + "@media screen { .foobar { display: none; } }" + ); + test.done(); + }, + 'skips media queries with ORs': function (test) { + test.expect(2); + test.deepEqual( postprocessor.process("@media (hover: hover), (orientation: landscape) { .foobar { display: none; } }", {hoverSelectorPrefix: 'PREFIX>'}).css, "@media (hover: hover), (orientation: landscape) { .foobar { display: none; } }" ); + test.deepEqual( + postprocessor.process("@media screen (hover: hover), (orientation: landscape) { .foobar { display: none; } }", {hoverSelectorPrefix: 'PREFIX>'}).css, + "@media screen (hover: hover), (orientation: landscape) { .foobar { display: none; } }" + ); test.done(); }, 'skips media queries with ANDs': function (test) { - test.expect(1); + test.expect(2); test.deepEqual( postprocessor.process("@media (hover: hover) and (orientation: landscape) { .foobar { display: none; } }", {hoverSelectorPrefix: 'PREFIX>'}).css, "@media (hover: hover) and (orientation: landscape) { .foobar { display: none; } }" ); + test.deepEqual( + postprocessor.process("@media screen (hover: hover) and (orientation: landscape) { .foobar { display: none; } }", {hoverSelectorPrefix: 'PREFIX>'}).css, + "@media screen (hover: hover) and (orientation: landscape) { .foobar { display: none; } }" + ); test.done(); }, 'skips media queries that are not about the hover media feature': function (test) { @@ -86,15 +102,39 @@ exports.mq4HoverShim = { test.done(); }, 'handles nested at-rules': function (test) { - test.expect(2); + test.expect(4); test.deepEqual( postprocessor.process("@media (orientation: landscape) { @media (hover: hover) { .foobar { display: none; } } }", {hoverSelectorPrefix: 'PREFIX>'}).css, "@media (orientation: landscape) { PREFIX>.foobar { display: none; } }" ); test.deepEqual( + postprocessor.process("@media screen (orientation: landscape) { @media (hover: hover) { .foobar { display: none; } } }", {hoverSelectorPrefix: 'PREFIX>'}).css, + "@media screen (orientation: landscape) { PREFIX>.foobar { display: none; } }" + ); + test.deepEqual( postprocessor.process("@media (hover: hover) { @media (orientation: landscape) { .foobar { display: none; } } }", {hoverSelectorPrefix: 'PREFIX>'}).css, "@media (orientation: landscape) {\n PREFIX>.foobar {\n display: none;\n }\n}" ); + test.deepEqual( + postprocessor.process("@media (hover: hover) { @media screen (orientation: landscape) { .foobar { display: none; } } }", {hoverSelectorPrefix: 'PREFIX>'}).css, + "@media screen (orientation: landscape) {\n PREFIX>.foobar {\n display: none;\n }\n}" + ); + test.done(); + }, + 'handles applicable media types': function (test) { + test.expect(1); + test.deepEqual( + postprocessor.process("@media screen (hover: hover) { .foobar { display: none; } }", {hoverSelectorPrefix: 'PREFIX>'}).css, + "@media screen { PREFIX>.foobar { display: none; } }" + ); + test.done(); + }, + 'handles non-applicable media types': function (test) { + test.expect(1); + test.deepEqual( + postprocessor.process("@media print (hover: hover) { .foobar { display: none; } }", {hoverSelectorPrefix: 'PREFIX>'}).css, + "" + ); test.done(); }, 'errors when hoverSelectorPrefix is not provided': function (test) { |