Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: packages/polymer/test/two_way_bind_test.dart

Issue 2312183003: Removed Polymer from Observatory deps (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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:async';
6 import 'dart:html';
7 import 'package:unittest/unittest.dart';
8 import 'package:unittest/html_config.dart';
9 import 'package:polymer/polymer.dart';
10
11 @CustomTag('inner-element')
12 class InnerElement extends PolymerElement {
13 @published int number;
14 @published bool boolean;
15 @published String string;
16
17 InnerElement.created() : super.created();
18 }
19
20 @CustomTag('outer-element')
21 class OuterElement extends PolymerElement {
22 @observable int number = 1;
23 @observable bool boolean = false;
24 @observable String string = 'a';
25
26 OuterElement.created() : super.created();
27 }
28
29 main() => initPolymer().then((zone) => zone.run(() {
30 useHtmlConfiguration();
31
32 setUp(() => Polymer.onReady);
33
34 test('inner element gets initial values', () {
35 var outer = querySelector('outer-element');
36 var inner = outer.shadowRoot.querySelector('inner-element');
37
38 expect(inner.number, 1);
39 expect(inner.boolean, false);
40 expect(inner.string, 'a');
41 });
42
43 test('inner element updates the outer element', () {
44 var outer = querySelector('outer-element');
45 var inner = outer.shadowRoot.querySelector('inner-element');
46
47 // Toggle the value in the child and make sure that propagates around.
48 inner.number = 2;
49 inner.boolean = true;
50 inner.string = 'b';
51 return new Future(() {}).then((_) {
52 expect(outer.number, 2);
53 expect(outer.boolean, true);
54 expect(outer.string, 'b');
55
56 inner.number = 1;
57 inner.boolean = false;
58 inner.string = 'a';
59 }).then((_) => new Future(() {})).then((_) {
60 expect(outer.number, 1);
61 expect(outer.boolean, false);
62 expect(outer.string, 'a');
63 });
64 });
65
66 test('outer element updates the inner element', () {
67 var outer = querySelector('outer-element');
68 var inner = outer.shadowRoot.querySelector('inner-element');
69
70 // Toggle the value in the parent and make sure that propagates around.
71 outer.number = 2;
72 outer.boolean = true;
73 outer.string = 'b';
74 return new Future(() {}).then((_) {
75 expect(inner.number, 2);
76 expect(inner.boolean, true);
77 expect(inner.string, 'b');
78
79 outer.number = 1;
80 outer.boolean = false;
81 outer.string = 'a';
82 }).then((_) => new Future(() {})).then((_) {
83 expect(inner.number, 1);
84 expect(inner.boolean, false);
85 expect(inner.string, 'a');
86 });
87 });
88 }));
OLDNEW
« no previous file with comments | « packages/polymer/test/template_distribute_dynamic_test.html ('k') | packages/polymer/test/two_way_bind_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698