| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library CssStyleDeclarationTest; | 5 library CssStyleDeclarationTest; |
| 6 |
| 6 import 'package:unittest/unittest.dart'; | 7 import 'package:unittest/unittest.dart'; |
| 7 import 'package:unittest/html_config.dart'; | 8 import 'package:unittest/html_config.dart'; |
| 8 import 'dart:html'; | 9 import 'dart:html'; |
| 9 import 'dart:async'; | 10 import 'dart:async'; |
| 10 import 'utils.dart'; | 11 import 'utils.dart'; |
| 11 | 12 |
| 12 main() { | 13 main() { |
| 13 useHtmlConfiguration(); | 14 useHtmlConfiguration(); |
| 14 | 15 |
| 15 createTestStyle() { | 16 createTestStyle() { |
| 16 return new CssStyleDeclaration.css(""" | 17 return new CssStyleDeclaration.css(""" |
| 17 color: blue; | 18 color: blue; |
| 18 width: 2px !important; | 19 width: 2px !important; |
| 19 """); | 20 """); |
| 20 }; | 21 } |
| 22 |
| 23 ; |
| 21 | 24 |
| 22 test('default constructor is empty', () { | 25 test('default constructor is empty', () { |
| 23 var style = new CssStyleDeclaration(); | 26 var style = new CssStyleDeclaration(); |
| 24 expect(style.cssText, isEmpty); | 27 expect(style.cssText, isEmpty); |
| 25 expect(style.getPropertyPriority('color'), isEmpty); | 28 expect(style.getPropertyPriority('color'), isEmpty); |
| 26 expect(style.item(0), isEmpty); | 29 expect(style.item(0), isEmpty); |
| 27 expect(style, hasLength(0)); | 30 expect(style, hasLength(0)); |
| 28 // These assertions throw a UnimplementedError in dartium: | 31 // These assertions throw a UnimplementedError in dartium: |
| 29 // expect(style.parentRule, isNull); | 32 // expect(style.parentRule, isNull); |
| 30 // expect(style.getPropertyCssValue('color'), isNull); | 33 // expect(style.getPropertyCssValue('color'), isNull); |
| 31 // expect(style.getPropertyShorthand('color'), isNull); | 34 // expect(style.getPropertyShorthand('color'), isNull); |
| 32 }); | 35 }); |
| 33 | 36 |
| 34 test('length is wrapped', () { | 37 test('length is wrapped', () { |
| 35 expect(createTestStyle(), hasLength(2)); | 38 expect(createTestStyle(), hasLength(2)); |
| 36 }); | 39 }); |
| 37 | 40 |
| 38 test('getPropertyPriority is wrapped', () { | 41 test('getPropertyPriority is wrapped', () { |
| 39 var style = createTestStyle(); | 42 var style = createTestStyle(); |
| 40 expect(style.getPropertyPriority("color"), isEmpty); | 43 expect(style.getPropertyPriority("color"), isEmpty); |
| 41 expect(style.getPropertyPriority("width"), equals("important")); | 44 expect(style.getPropertyPriority("width"), equals("important")); |
| 42 }); | 45 }); |
| 43 | 46 |
| 44 test('removeProperty is wrapped', () { | 47 test('removeProperty is wrapped', () { |
| 45 var style = createTestStyle(); | 48 var style = createTestStyle(); |
| 46 style.removeProperty("width"); | 49 style.removeProperty("width"); |
| 47 expect(style.cssText.trim(), | 50 expect(style.cssText.trim(), equals("color: blue;")); |
| 48 equals("color: blue;")); | |
| 49 }); | 51 }); |
| 50 | 52 |
| 51 test('CSS property empty getters and setters', () { | 53 test('CSS property empty getters and setters', () { |
| 52 var style = createTestStyle(); | 54 var style = createTestStyle(); |
| 53 expect(style.border, equals("")); | 55 expect(style.border, equals("")); |
| 54 | 56 |
| 55 style.border = "1px solid blue"; | 57 style.border = "1px solid blue"; |
| 56 style.border = ""; | 58 style.border = ""; |
| 57 expect(style.border, equals("")); | 59 expect(style.border, equals("")); |
| 58 | 60 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 })); | 99 })); |
| 98 }); | 100 }); |
| 99 | 101 |
| 100 test('Invalid values', () { | 102 test('Invalid values', () { |
| 101 var element = new DivElement(); | 103 var element = new DivElement(); |
| 102 // Should not throw an error. | 104 // Should not throw an error. |
| 103 element.style.background = 'some_bad_value'; | 105 element.style.background = 'some_bad_value'; |
| 104 }); | 106 }); |
| 105 | 107 |
| 106 test('css multi get', () { | 108 test('css multi get', () { |
| 107 var listElement = new Element.html('<ul class="foo">' | 109 var listElement = new Element.html( |
| 110 '<ul class="foo">' |
| 108 '<li class="bar" style="background-color: red; border-left: 10px;">' | 111 '<li class="bar" style="background-color: red; border-left: 10px;">' |
| 109 '<li class="baz" style="background-color: black;>' | 112 '<li class="baz" style="background-color: black;>' |
| 110 '<li class="baz classy" style="background-color: blue; ">' | 113 '<li class="baz classy" style="background-color: blue; ">' |
| 111 '</ul>', treeSanitizer: new NullTreeSanitizer()); | 114 '</ul>', |
| 115 treeSanitizer: new NullTreeSanitizer()); |
| 112 document.documentElement.children.add(listElement); | 116 document.documentElement.children.add(listElement); |
| 113 | 117 |
| 114 var elements = document.queryAll('li'); | 118 var elements = document.queryAll('li'); |
| 115 expect(elements.style.backgroundColor, equals('red')); | 119 expect(elements.style.backgroundColor, equals('red')); |
| 116 expect(elements.style.borderLeftWidth, equals('10px')); | 120 expect(elements.style.borderLeftWidth, equals('10px')); |
| 117 elements = document.queryAll('.baz'); | 121 elements = document.queryAll('.baz'); |
| 118 expect(elements.style.backgroundColor, equals('black')); | 122 expect(elements.style.backgroundColor, equals('black')); |
| 119 expect(elements.style.borderLeftWidth, equals('')); | 123 expect(elements.style.borderLeftWidth, equals('')); |
| 120 elements = document.queryAll('.bar'); | 124 elements = document.queryAll('.bar'); |
| 121 expect(elements.style.backgroundColor, equals('red')); | 125 expect(elements.style.backgroundColor, equals('red')); |
| 122 }); | 126 }); |
| 123 | 127 |
| 124 test('css multi set', () { | 128 test('css multi set', () { |
| 125 var listElement = new Element.html('<ul class="foo">' | 129 var listElement = new Element.html( |
| 130 '<ul class="foo">' |
| 126 '<li class="bar" style="background-color: red; border-left: 10px;">' | 131 '<li class="bar" style="background-color: red; border-left: 10px;">' |
| 127 '<li class="baz" style="background-color: black;>' | 132 '<li class="baz" style="background-color: black;>' |
| 128 '<li class="baz" id="wat" style="background-color: blue; ">' | 133 '<li class="baz" id="wat" style="background-color: blue; ">' |
| 129 '</ul>', treeSanitizer: new NullTreeSanitizer()); | 134 '</ul>', |
| 135 treeSanitizer: new NullTreeSanitizer()); |
| 130 document.documentElement.children.add(listElement); | 136 document.documentElement.children.add(listElement); |
| 131 | 137 |
| 132 var elements = document.queryAll('li'); | 138 var elements = document.queryAll('li'); |
| 133 elements.style.backgroundColor = 'green'; | 139 elements.style.backgroundColor = 'green'; |
| 134 expect(elements.style.backgroundColor, equals('green')); | 140 expect(elements.style.backgroundColor, equals('green')); |
| 135 expect(elements.style.borderLeftWidth, equals('10px')); | 141 expect(elements.style.borderLeftWidth, equals('10px')); |
| 136 | 142 |
| 137 elements = document.queryAll('.baz'); | 143 elements = document.queryAll('.baz'); |
| 138 expect(elements.style.backgroundColor, equals('green')); | 144 expect(elements.style.backgroundColor, equals('green')); |
| 139 elements.style.backgroundColor = 'yellow'; | 145 elements.style.backgroundColor = 'yellow'; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 151 expect(elements.style.borderLeftWidth, equals('10px')); | 157 expect(elements.style.borderLeftWidth, equals('10px')); |
| 152 }); | 158 }); |
| 153 | 159 |
| 154 test('supports property', () { | 160 test('supports property', () { |
| 155 expect(document.body.style.supportsProperty('bogus-property'), false); | 161 expect(document.body.style.supportsProperty('bogus-property'), false); |
| 156 expect(document.body.style.supportsProperty('background'), true); | 162 expect(document.body.style.supportsProperty('background'), true); |
| 157 expect(document.body.style.supportsProperty('borderBottomWidth'), true); | 163 expect(document.body.style.supportsProperty('borderBottomWidth'), true); |
| 158 expect(document.body.style.supportsProperty('animation'), true); | 164 expect(document.body.style.supportsProperty('animation'), true); |
| 159 }); | 165 }); |
| 160 } | 166 } |
| OLD | NEW |