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

Side by Side Diff: third_party/pkg/angular/test/animate/animation_optimizer_spec.dart

Issue 257423008: Update all Angular libs (run update_all.sh). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 library animation_optimizer_spec;
2
3 import '../_specs.dart';
4
5 main() {
6 describe('AnimationLoop', () {
7 TestBed _;
8 AnimationOptimizer optimizer;
9 beforeEach(inject((TestBed tb, Expando expand) {
10 _ = tb;
11 optimizer = new AnimationOptimizer(expand);
12 }));
13
14 it('should prevent animations on child elements', () {
15 var animation = new NoOpAnimation();
16 _.compile('<div><div></div></div>');
17
18
19 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
20 optimizer.track(animation, _.rootElement);
21 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
22 optimizer.forget(animation);
23 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
24 });
25
26 it('should allow multiple animations on the same element', () {
27 var animation1 = new NoOpAnimation();
28 var animation2 = new NoOpAnimation();
29 _.compile('<div><div></div></div>');
30
31 expect(optimizer.shouldAnimate(_.rootElement)).toBeTruthy();
32 optimizer.track(animation1, _.rootElement);
33 expect(optimizer.shouldAnimate(_.rootElement)).toBeTruthy();
34 optimizer.track(animation2, _.rootElement);
35 expect(optimizer.shouldAnimate(_.rootElement)).toBeTruthy();
36 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
37 optimizer.forget(animation1);
38 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
39 optimizer.forget(animation2);
40 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
41 });
42
43 it('should always animate an element', () {
44 _.compile('<div><div></div></div>');
45 optimizer.alwaysAnimate(_.rootElement.children[0], "never");
46 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
47 optimizer.alwaysAnimate(_.rootElement.children[0], "always");
48 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
49 optimizer.alwaysAnimate(_.rootElement.children[0], "auto");
50 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
51 });
52
53 it('alwaysAnimate should not affect children', () {
54 _.compile('<div><div></div></div>');
55 optimizer.alwaysAnimate(_.rootElement, "never");
56 expect(optimizer.shouldAnimate(_.rootElement)).toBeFalsy();
57 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
58 optimizer.alwaysAnimate(_.rootElement, "always");
59 expect(optimizer.shouldAnimate(_.rootElement)).toBeTruthy();
60 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
61 optimizer.alwaysAnimate(_.rootElement, "auto");
62 expect(optimizer.shouldAnimate(_.rootElement)).toBeTruthy();
63 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
64 });
65
66
67 it('alwaysAnimateChildren should not affect element', () {
68 _.compile('<div><div></div></div>');
69
70 optimizer.alwaysAnimateChildren(_.rootElement, "never");
71 expect(optimizer.shouldAnimate(_.rootElement)).toBeTruthy();
72 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
73
74 optimizer.alwaysAnimateChildren(_.rootElement, "always");
75 expect(optimizer.shouldAnimate(_.rootElement)).toBeTruthy();
76 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
77
78 optimizer.alwaysAnimateChildren(_.rootElement, "auto");
79 expect(optimizer.shouldAnimate(_.rootElement)).toBeTruthy();
80 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
81 });
82
83 it('alwaysAnimate should take priority over alwaysAnimateChildren', () {
84 _.compile('<div><div></div></div>');
85
86 optimizer.alwaysAnimateChildren(_.rootElement, "never");
87 optimizer.alwaysAnimate(_.rootElement.children[0], "always");
88 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
89
90 optimizer.alwaysAnimateChildren(_.rootElement, "always");
91 optimizer.alwaysAnimate(_.rootElement.children[0], "never");
92 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
93 });
94
95 it('alwaysAnimate should take priority over running animations', () {
96 _.compile('<div><div></div></div>');
97 var animation = new NoOpAnimation();
98
99 optimizer.track(animation, _.rootElement);
100 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
101
102 optimizer.alwaysAnimate(_.rootElement.children[0], "always");
103 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
104
105 optimizer.alwaysAnimate(_.rootElement.children[0], "auto");
106 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
107
108 optimizer.forget(animation);
109 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
110 });
111
112 it('alwaysAnimateChildren should take priority over running animations',
113 () {
114 _.compile('<div><div></div></div>');
115 var animation = new NoOpAnimation();
116
117 optimizer.track(animation, _.rootElement);
118 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
119
120 optimizer.alwaysAnimateChildren(_.rootElement, "always");
121 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
122
123 optimizer.alwaysAnimateChildren(_.rootElement, "auto");
124 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
125
126 optimizer.forget(animation);
127 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeTruthy();
128
129 optimizer.alwaysAnimateChildren(_.rootElement, "never");
130 expect(optimizer.shouldAnimate(_.rootElement.children[0])).toBeFalsy();
131 });
132
133
134 it('alwaysAnimateChildren when nested should prioritize the closest'
135 +'element up the tree.',
136 () {
137 _.compile('<div><div><div></div></div></div>');
138
139 optimizer.alwaysAnimateChildren(_.rootElement, "always");
140 expect(optimizer.shouldAnimate(_.rootElement.children[0].children[0]))
141 .toBeTruthy();
142
143 optimizer.alwaysAnimateChildren(_.rootElement.children[0], "never");
144 expect(optimizer.shouldAnimate(_.rootElement.children[0].children[0]))
145 .toBeFalsy();
146
147
148 optimizer.alwaysAnimateChildren(_.rootElement, "never");
149 optimizer.alwaysAnimateChildren(_.rootElement.children[0], "always");
150 expect(optimizer.shouldAnimate(_.rootElement.children[0].children[0]))
151 .toBeTruthy();
152 });
153 });
154 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698