Index: test/iron_media_query_test.dart |
diff --git a/test/iron_media_query_test.dart b/test/iron_media_query_test.dart |
index 84e511b65aa23fd8fdc4fde1d69079e7929e29c2..defd617fd649af003ac7e6e4119094b492ade63a 100644 |
--- a/test/iron_media_query_test.dart |
+++ b/test/iron_media_query_test.dart |
@@ -4,6 +4,7 @@ |
@TestOn('browser') |
library polymer_elements.test.iron_media_query_test; |
+import 'package:polymer_interop/polymer_interop.dart'; |
import 'package:polymer_elements/iron_media_query.dart'; |
import 'package:test/test.dart'; |
import 'package:web_components/web_components.dart'; |
@@ -39,6 +40,42 @@ main() async { |
mq.mediaQuery = '(max-width: 10000px)'; |
expect(mq.queryMatches, true); |
}); |
+ |
+ test('automatically wrap with parens', () { |
+ mq.mediaQuery = 'min-width: 1px'; |
+ expect(mq.queryMatches, true); |
+ }); |
+ |
+ group('query does not activate on empty string or null', () { |
+ |
+ test('empty string', () { |
+ mq.mediaQuery = ''; |
+ expect(mq.jsElement['_mq'], isNull); |
+ }); |
+ |
+ test('null', () { |
+ mq.mediaQuery = null; |
+ expect(mq.jsElement['_mq'], isNull); |
+ }); |
+ |
+ }); |
+ |
+ test('media query destroys on detach', () { |
+ mq.mediaQuery = '(max-width: 800px)'; |
+ mq.remove(); |
+ PolymerDom.flush(); |
+ expect(mq.jsElement['_mq'], isNull); |
+ }); |
+ |
+ test('media query re-enables on attach', () { |
+ mq.mediaQuery = '(max-width: 800px)'; |
+ var parent = mq.parentNode; |
+ mq.remove(); |
+ PolymerDom.flush(); |
+ parent.append(mq); |
+ PolymerDom.flush(); |
+ expect(mq.jsElement['_mq'], isNotNull); |
+ }); |
}); |
}); |
} |