| OLD | NEW | 
| (Empty) |  | 
 |   1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
 |   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. | 
 |   4  | 
 |   5 import 'dart:html'; | 
 |   6 import 'package:unittest/unittest.dart'; | 
 |   7 import 'package:unittest/html_config.dart'; | 
 |   8 import 'package:polymer/polymer.dart'; | 
 |   9  | 
 |  10 @CustomTag('my-element') | 
 |  11 class MyElement extends PolymerElement { | 
 |  12   MyElement.created() : super.created(); | 
 |  13  | 
 |  14   @published double volume; | 
 |  15   @published int factor; | 
 |  16   @published bool crankIt; | 
 |  17   @published String msg; | 
 |  18   @published DateTime time; | 
 |  19   @published Object json; | 
 |  20 } | 
 |  21  | 
 |  22 main() => initPolymer().then((zone) => zone.run(() { | 
 |  23   useHtmlConfiguration(); | 
 |  24  | 
 |  25   setUp(() => Polymer.onReady); | 
 |  26  | 
 |  27   test('attributes were deserialized', () { | 
 |  28     MyElement elem = querySelector('my-element'); | 
 |  29     final msg = 'property should match attribute.'; | 
 |  30     expect(elem.volume, 11.0, reason: '"volume" should match attribute'); | 
 |  31     expect(elem.factor, 3, reason: '"factor" should match attribute'); | 
 |  32     expect(elem.crankIt, true, reason: '"crankIt" should match attribute'); | 
 |  33     expect(elem.msg, "Yo!", reason: '"msg" should match attribute'); | 
 |  34     expect(elem.time, DateTime.parse('2013-08-08T18:34Z'), | 
 |  35         reason: '"time" should match attribute'); | 
 |  36     expect(elem.json, {'here': 'is', 'some': 'json', 'x': 123}, | 
 |  37         reason: '"json" should match attribute'); | 
 |  38  | 
 |  39     var text = elem.shadowRoot.text; | 
 |  40     // Collapse adjacent whitespace like a browser would: | 
 |  41     text = text.replaceAll('\n', ' ').replaceAll(new RegExp(r'\s+'), ' '); | 
 |  42  | 
 |  43     // Note: using "${33.0}" because the toString differs in JS vs Dart VM. | 
 |  44     expect(text, " Yo! The volume is ${33.0} !! The time is " | 
 |  45         "2013-08-08 18:34:00.000Z and here's some JSON: " | 
 |  46         "{here: is, some: json, x: 123} ", | 
 |  47         reason: 'text should match expected HTML template'); | 
 |  48   }); | 
 |  49 })); | 
| OLD | NEW |