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

Side by Side Diff: test/paper_ripple_test.dart

Issue 1418513006: update elements and fix some bugs (Closed) Base URL: git@github.com:dart-lang/polymer_elements.git@master
Patch Set: code review updates Created 5 years, 1 month 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
« no previous file with comments | « test/paper_ripple_behavior_test.html ('k') | test/paper_ripple_test.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 @TestOn('browser') 4 @TestOn('browser')
5 library polymer_elements.test.paper_ripple_test; 5 library polymer_elements.test.paper_ripple_test;
6 6
7 import 'dart:html'; 7 import 'dart:html' hide Point;
8 import 'package:polymer_elements/paper_ripple.dart'; 8 import 'package:polymer_elements/paper_ripple.dart';
9 import 'package:test/test.dart'; 9 import 'package:test/test.dart';
10 import 'package:web_components/web_components.dart'; 10 import 'package:web_components/web_components.dart';
11 import 'common.dart'; 11 import 'common.dart';
12 12
13 main() async { 13 main() async {
14 await initWebComponents(); 14 await initWebComponents();
15 15
16 group('<paper-ripple>', () { 16 group('<paper-ripple>', () {
17 CustomEvent mouseEvent; 17 CustomEvent mouseEvent;
18 DivElement rippleContainer; 18 DivElement rippleContainer;
19 PaperRipple ripple; 19 PaperRipple ripple;
20 20
21 group('when tapped', () { 21 group('when tapped', () {
22 setUp(() { 22 setUp(() {
23 rippleContainer = fixture('TrivialRipple'); 23 rippleContainer = fixture('TrivialRipple');
24 ripple = rippleContainer.children.first; 24 ripple = rippleContainer.children.first;
25 mouseEvent = fakeMouseEvent(ripple, 10, 10);
26 }); 25 });
27 26
28 test('creates a ripple', () { 27 test('creates a ripple', () {
29 expect(ripple.ripples.length, 0); 28 expect(ripple.ripples.length, 0);
30 ripple.downAction(mouseEvent); 29 down(ripple);
31 expect(ripple.ripples.length, 1); 30 expect(ripple.ripples.length, 1);
32 }); 31 });
33 32
34 test('may create multiple ripples that overlap', () { 33 test('may create multiple ripples that overlap', () {
35 expect(ripple.ripples.length, 0); 34 expect(ripple.ripples.length, 0);
36 for (var i = 0; i < 3; ++i) { 35 for (var i = 0; i < 3; ++i) {
37 ripple.downAction(mouseEvent); 36 down(ripple);
38 expect(ripple.ripples.length, i + 1); 37 expect(ripple.ripples.length, i + 1);
39 } 38 }
40 }); 39 });
41 }); 40 });
41
42 group('when holdDown is togggled', () {
43 setUp( () {
44 rippleContainer = fixture('TrivialRipple');
45 ripple = rippleContainer.children.first;
46 });
47
48 test('generates a ripple', () {
49 ripple.holdDown = true;
50 expect(ripple.ripples.length, 1);
51 });
52
53 test('generates a ripple when noink', () {
54 ripple.noink = true;
55 ripple.holdDown = true;
56 expect(ripple.ripples.length, 1);
57
58 });
59
60 });
61
62 group('when target is noink', () {
63 setUp( () {
64 rippleContainer = fixture('NoinkTarget');
65 ripple = rippleContainer.children.first;
66 });
67
68 test('tapping does not create a ripple', () {
69 expect(ripple.keyEventTarget, ripple);
70 expect(ripple.ripples.length, 0);
71 down(ripple);
72 expect(ripple.ripples.length, 0);
73 });
74
75 test('ripples can be manually created', () {
76 expect(ripple.ripples.length, 0);
77 ripple.simulatedRipple();
78 expect(ripple.ripples.length, 1);
79 });
80 });
42 81
43 group('with the `center` attribute set to true', () { 82 group('with the `center` attribute set to true', () {
44 setUp(() { 83 setUp(() {
45 rippleContainer = fixture('CenteringRipple'); 84 rippleContainer = fixture('CenteringRipple');
46 ripple = rippleContainer.children.first; 85 ripple = rippleContainer.children.first;
47 mouseEvent = fakeMouseEvent(ripple, 10, 10);
48 }); 86 });
49 87
50 test('ripples will center', () { 88 test('ripples will center', () {
51 var waveContainerElement; 89 var waveContainerElement;
52 // let's ask the browser what `translate3d(0px, 0px, 0)` will actually l ook like 90 // let's ask the browser what `translate3d(0px, 0px, 0)` will actually l ook like
53 var div = document.createElement('div'); 91 var div = document.createElement('div');
54 div.style.transform = 'translate3d(0px, 0px, 0)'; 92 div.style.transform = 'translate3d(0px, 0px, 0)';
55 ripple.downAction(mouseEvent); 93 down(ripple);
56 waveContainerElement = ripple.ripples[0]['waveContainer']; 94 waveContainerElement = ripple.ripples[0]['waveContainer'];
57 ripple.upAction(mouseEvent); 95 up(ripple);
58 return requestAnimationFrame().then((_) { 96 return requestAnimationFrame().then((_) {
59 var currentTransform = waveContainerElement.style.transform; 97 var currentTransform = waveContainerElement.style.transform;
60 expect(div.style.transform, isNotNull); 98 expect(div.style.transform, isNotNull);
61 expect(currentTransform, isNotNull); 99 expect(currentTransform, isNotNull);
62 expect(currentTransform, div.style.transform); 100 expect(currentTransform, div.style.transform);
63 }); 101 });
64 }); 102 });
65 }); 103 });
66 104
67 group('with the `recenters` attribute set to true', () { 105 group('with the `recenters` attribute set to true', () {
68 setUp(() { 106 setUp(() {
69 rippleContainer = fixture('RecenteringRipple'); 107 rippleContainer = fixture('RecenteringRipple');
70 ripple = rippleContainer.children.first; 108 ripple = rippleContainer.children.first;
71 mouseEvent = fakeMouseEvent(ripple, 10, 10); 109 mouseEvent = fakeMouseEvent(ripple, 10, 10);
72 }); 110 });
73 111
74 test('ripples will gravitate towards the center', () { 112 test('ripples will gravitate towards the center', () {
75 var waveContainerElement; 113 var waveContainerElement;
76 var waveTranslateString; 114 var waveTranslateString;
77 ripple.downAction(mouseEvent); 115 down(ripple, new Point(10, 10));
78 waveContainerElement = ripple.ripples[0]['waveContainer']; 116 waveContainerElement = ripple.ripples[0]['waveContainer'];
79 waveTranslateString = waveContainerElement.style.transform; 117 waveTranslateString = waveContainerElement.style.transform;
80 ripple.upAction(mouseEvent); 118 up(ripple);
81 return requestAnimationFrame().then((_) { 119 return requestAnimationFrame().then((_) {
82 expect(waveTranslateString, isNotNull); 120 expect(waveTranslateString, isNotNull);
83 expect(waveContainerElement.style.transform, isNotNull); 121 expect(waveContainerElement.style.transform, isNotNull);
84 expect( 122 expect(
85 waveContainerElement.style.transform, isNot(waveTranslateString)); 123 waveContainerElement.style.transform, isNot(waveTranslateString));
86 }); 124 });
87 }); 125 });
88 }); 126 });
89 }); 127 });
90 } 128 }
91 129
92 CustomEvent fakeMouseEvent(Element target, int relativeX, int relativeY) { 130 CustomEvent fakeMouseEvent(Element target, int relativeX, int relativeY) {
93 var rect = target.getBoundingClientRect(); 131 var rect = target.getBoundingClientRect();
94 return new CustomEvent('', 132 return new CustomEvent('',
95 detail: {'x': rect.left + relativeX, 'y': rect.top + relativeY}); 133 detail: {'x': rect.left + relativeX, 'y': rect.top + relativeY});
96 } 134 }
OLDNEW
« no previous file with comments | « test/paper_ripple_behavior_test.html ('k') | test/paper_ripple_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698