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

Side by Side Diff: third_party/pkg/angular/test/directive/ng_pluralize_spec.dart

Issue 180843004: Revert revision 33053 (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 9 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
1 library ng_pluralize_spec; 1 library ng_pluralize_spec;
2 2
3 import '../_specs.dart'; 3 import '../_specs.dart';
4 4
5 main() { 5 main() {
6 describe('PluralizeDirective', () { 6 describe('PluralizeDirective', () {
7 7
8 describe('deal with pluralized strings without offset', () { 8 describe('deal with pluralized strings without offset', () {
9 var element; 9 var element;
10 var elementAlt; 10 var elementAlt;
(...skipping 16 matching lines...) Expand all
27 '<p ng-pluralize count="email" ' + 27 '<p ng-pluralize count="email" ' +
28 "when-minus-1='You have negative email. Whohoo!' " + 28 "when-minus-1='You have negative email. Whohoo!' " +
29 "when-0='You have no new email' " + 29 "when-0='You have no new email' " +
30 "when-one='You have one new email' " + 30 "when-one='You have one new email' " +
31 "when-other='You have {} new emails'>" + 31 "when-other='You have {} new emails'>" +
32 '</p>' 32 '</p>'
33 ); 33 );
34 })); 34 }));
35 35
36 it('should show single/plural strings', () { 36 it('should show single/plural strings', () {
37 _.rootScope.context['email'] = '0'; 37 _.rootScope.email = '0';
38 _.rootScope.apply(); 38 _.rootScope.$digest();
39 expect(element.text).toEqual('You have no new email'); 39 expect(element.text).toEqual('You have no new email');
40 expect(elementAlt.text).toEqual('You have no new email'); 40 expect(elementAlt.text).toEqual('You have no new email');
41 41
42 _.rootScope.context['email'] = '0'; 42 _.rootScope.email = '0';
43 _.rootScope.apply(); 43 _.rootScope.$digest();
44 expect(element.text).toEqual('You have no new email'); 44 expect(element.text).toEqual('You have no new email');
45 expect(elementAlt.text).toEqual('You have no new email'); 45 expect(elementAlt.text).toEqual('You have no new email');
46 46
47 _.rootScope.context['email'] = 1; 47 _.rootScope.email = 1;
48 _.rootScope.apply(); 48 _.rootScope.$digest();
49 expect(element.text).toEqual('You have one new email'); 49 expect(element.text).toEqual('You have one new email');
50 expect(elementAlt.text).toEqual('You have one new email'); 50 expect(elementAlt.text).toEqual('You have one new email');
51 51
52 _.rootScope.context['email'] = 0.01; 52 _.rootScope.email = 0.01;
53 _.rootScope.apply(); 53 _.rootScope.$digest();
54 expect(element.text).toEqual('You have 0.01 new emails'); 54 expect(element.text).toEqual('You have 0.01 new emails');
55 expect(elementAlt.text).toEqual('You have 0.01 new emails'); 55 expect(elementAlt.text).toEqual('You have 0.01 new emails');
56 56
57 _.rootScope.context['email'] = '0.1'; 57 _.rootScope.email = '0.1';
58 _.rootScope.apply(); 58 _.rootScope.$digest();
59 expect(element.text).toEqual('You have 0.1 new emails'); 59 expect(element.text).toEqual('You have 0.1 new emails');
60 expect(elementAlt.text).toEqual('You have 0.1 new emails'); 60 expect(elementAlt.text).toEqual('You have 0.1 new emails');
61 61
62 _.rootScope.context['email'] = 2; 62 _.rootScope.email = 2;
63 _.rootScope.apply(); 63 _.rootScope.$digest();
64 expect(element.text).toEqual('You have 2 new emails'); 64 expect(element.text).toEqual('You have 2 new emails');
65 expect(elementAlt.text).toEqual('You have 2 new emails'); 65 expect(elementAlt.text).toEqual('You have 2 new emails');
66 66
67 _.rootScope.context['email'] = -0.1; 67 _.rootScope.email = -0.1;
68 _.rootScope.apply(); 68 _.rootScope.$digest();
69 expect(element.text).toEqual('You have -0.1 new emails'); 69 expect(element.text).toEqual('You have -0.1 new emails');
70 expect(elementAlt.text).toEqual('You have -0.1 new emails'); 70 expect(elementAlt.text).toEqual('You have -0.1 new emails');
71 71
72 _.rootScope.context['email'] = '-0.01'; 72 _.rootScope.email = '-0.01';
73 _.rootScope.apply(); 73 _.rootScope.$digest();
74 expect(element.text).toEqual('You have -0.01 new emails'); 74 expect(element.text).toEqual('You have -0.01 new emails');
75 expect(elementAlt.text).toEqual('You have -0.01 new emails'); 75 expect(elementAlt.text).toEqual('You have -0.01 new emails');
76 76
77 _.rootScope.context['email'] = -2; 77 _.rootScope.email = -2;
78 _.rootScope.apply(); 78 _.rootScope.$digest();
79 expect(element.text).toEqual('You have -2 new emails'); 79 expect(element.text).toEqual('You have -2 new emails');
80 expect(elementAlt.text).toEqual('You have -2 new emails'); 80 expect(elementAlt.text).toEqual('You have -2 new emails');
81 81
82 _.rootScope.context['email'] = -1; 82 _.rootScope.email = -1;
83 _.rootScope.apply(); 83 _.rootScope.$digest();
84 expect(element.text).toEqual('You have negative email. Whohoo!'); 84 expect(element.text).toEqual('You have negative email. Whohoo!');
85 expect(elementAlt.text).toEqual('You have negative email. Whohoo!'); 85 expect(elementAlt.text).toEqual('You have negative email. Whohoo!');
86 }); 86 });
87 87
88 it('should show single/plural strings with mal-formed inputs', () { 88 it('should show single/plural strings with mal-formed inputs', () {
89 _.rootScope.context['email'] = ''; 89 _.rootScope.email = '';
90 _.rootScope.apply(); 90 _.rootScope.$digest();
91 expect(element.text).toEqual(''); 91 expect(element.text).toEqual('');
92 expect(elementAlt.text).toEqual(''); 92 expect(elementAlt.text).toEqual('');
93 93
94 _.rootScope.context['email'] = null; 94 _.rootScope.email = null;
95 _.rootScope.apply(); 95 _.rootScope.$digest();
96 expect(element.text).toEqual(''); 96 expect(element.text).toEqual('');
97 expect(elementAlt.text).toEqual(''); 97 expect(elementAlt.text).toEqual('');
98 98
99 _.rootScope.context['email'] = 'a3'; 99 _.rootScope.email = 'a3';
100 _.rootScope.apply(); 100 _.rootScope.$digest();
101 expect(element.text).toEqual(''); 101 expect(element.text).toEqual('');
102 expect(elementAlt.text).toEqual(''); 102 expect(elementAlt.text).toEqual('');
103 103
104 _.rootScope.context['email'] = '011'; 104 _.rootScope.email = '011';
105 _.rootScope.apply(); 105 _.rootScope.$digest();
106 expect(element.text).toEqual('You have 11 new emails'); 106 expect(element.text).toEqual('You have 11 new emails');
107 expect(elementAlt.text).toEqual('You have 11 new emails'); 107 expect(elementAlt.text).toEqual('You have 11 new emails');
108 108
109 _.rootScope.context['email'] = '-011'; 109 _.rootScope.email = '-011';
110 _.rootScope.apply(); 110 _.rootScope.$digest();
111 expect(element.text).toEqual('You have -11 new emails'); 111 expect(element.text).toEqual('You have -11 new emails');
112 expect(elementAlt.text).toEqual('You have -11 new emails'); 112 expect(elementAlt.text).toEqual('You have -11 new emails');
113 113
114 _.rootScope.context['email'] = '1fff'; 114 _.rootScope.email = '1fff';
115 _.rootScope.apply(); 115 _.rootScope.$digest();
116 expect(element.text).toEqual(''); 116 expect(element.text).toEqual('');
117 expect(elementAlt.text).toEqual(''); 117 expect(elementAlt.text).toEqual('');
118 118
119 _.rootScope.context['email'] = '0aa22'; 119 _.rootScope.email = '0aa22';
120 _.rootScope.apply(); 120 _.rootScope.$digest();
121 expect(element.text).toEqual(''); 121 expect(element.text).toEqual('');
122 expect(elementAlt.text).toEqual(''); 122 expect(elementAlt.text).toEqual('');
123 123
124 _.rootScope.context['email'] = '000001'; 124 _.rootScope.email = '000001';
125 _.rootScope.apply(); 125 _.rootScope.$digest();
126 expect(element.text).toEqual('You have one new email'); 126 expect(element.text).toEqual('You have one new email');
127 expect(elementAlt.text).toEqual('You have one new email'); 127 expect(elementAlt.text).toEqual('You have one new email');
128 }); 128 });
129 }); 129 });
130 130
131 describe('edge cases', () { 131 describe('edge cases', () {
132 it('should be able to handle empty strings as possible values', (inject((T estBed _) { 132 it('should be able to handle empty strings as possible values', (inject((T estBed _) {
133 var element = _.compile( 133 var element = _.compile(
134 '<ng-pluralize count="email"' + 134 '<ng-pluralize count="email"' +
135 "when=\"{'0': ''," + 135 "when=\"{'0': ''," +
136 "'one': 'Some text'," + 136 "'one': 'Some text'," +
137 "'other': 'Some text'}\">" + 137 "'other': 'Some text'}\">" +
138 '</ng-pluralize>'); 138 '</ng-pluralize>');
139 _.rootScope.context['email'] = '0'; 139 _.rootScope.email = '0';
140 _.rootScope.apply(); 140 _.rootScope.$digest();
141 expect(element.text).toEqual(''); 141 expect(element.text).toEqual('');
142 }))); 142 })));
143 }); 143 });
144 144
145 describe('deal with pluralized strings with offset', () { 145 describe('deal with pluralized strings with offset', () {
146 it('should show single/plural strings with offset', (inject((TestBed _) { 146 it('should show single/plural strings with offset', (inject((TestBed _) {
147 var element = _.compile( 147 var element = _.compile(
148 "<ng-pluralize count='viewCount' offset='2' " + 148 "<ng-pluralize count='viewCount' offset='2' " +
149 "when=\"{'0': 'Nobody is viewing.'," + 149 "when=\"{'0': 'Nobody is viewing.'," +
150 "'1': '\${p1} is viewing.'," + 150 "'1': '{{p1}} is viewing.'," +
151 "'2': '\${p1} and \${p2} are viewing.'," + 151 "'2': '{{p1}} and {{p2}} are viewing.'," +
152 "'one': '\${p1}, \${p2} and one other person are viewing.'," + 152 "'one': '{{p1}}, {{p2}} and one other person are viewing.'," +
153 "'other': '\${p1}, \${p2} and {} other people are viewing.'}\">" + 153 "'other': '{{p1}}, {{p2}} and {} other people are viewing.'}\">" +
154 "</ng-pluralize>"); 154 "</ng-pluralize>");
155 var elementAlt = _.compile( 155 var elementAlt = _.compile(
156 "<ng-pluralize count='viewCount' offset='2' " + 156 "<ng-pluralize count='viewCount' offset='2' " +
157 "when-0='Nobody is viewing.'" + 157 "when-0='Nobody is viewing.'" +
158 "when-1='\${p1} is viewing.'" + 158 "when-1='{{p1}} is viewing.'" +
159 "when-2='\${p1} and \${p2} are viewing.'" + 159 "when-2='{{p1}} and {{p2}} are viewing.'" +
160 "when-one='\${p1}, \${p2} and one other person are viewing.'" + 160 "when-one='{{p1}}, {{p2}} and one other person are viewing.'" +
161 "when-other='\${p1}, \${p2} and {} other people are viewing.'>" + 161 "when-other='{{p1}}, {{p2}} and {} other people are viewing.'>" +
162 "</ng-pluralize>"); 162 "</ng-pluralize>");
163 _.rootScope.context['p1'] = 'Igor'; 163 _.rootScope.p1 = 'Igor';
164 _.rootScope.context['p2'] = 'Misko'; 164 _.rootScope.p2 = 'Misko';
165 165
166 _.rootScope.context['viewCount'] = 0; 166 _.rootScope.viewCount = 0;
167 _.rootScope.apply(); 167 _.rootScope.$digest();
168 expect(element.text).toEqual('Nobody is viewing.'); 168 expect(element.text).toEqual('Nobody is viewing.');
169 expect(elementAlt.text).toEqual('Nobody is viewing.'); 169 expect(elementAlt.text).toEqual('Nobody is viewing.');
170 170
171 _.rootScope.context['viewCount'] = 1; 171 _.rootScope.viewCount = 1;
172 _.rootScope.apply(); 172 _.rootScope.$digest();
173 expect(element.text).toEqual('Igor is viewing.'); 173 expect(element.text).toEqual('Igor is viewing.');
174 expect(elementAlt.text).toEqual('Igor is viewing.'); 174 expect(elementAlt.text).toEqual('Igor is viewing.');
175 175
176 _.rootScope.context['viewCount'] = 2; 176 _.rootScope.viewCount = 2;
177 _.rootScope.apply(); 177 _.rootScope.$digest();
178 expect(element.text).toEqual('Igor and Misko are viewing.'); 178 expect(element.text).toEqual('Igor and Misko are viewing.');
179 expect(elementAlt.text).toEqual('Igor and Misko are viewing.'); 179 expect(elementAlt.text).toEqual('Igor and Misko are viewing.');
180 180
181 _.rootScope.context['viewCount'] = 3; 181 _.rootScope.viewCount = 3;
182 _.rootScope.apply(); 182 _.rootScope.$digest();
183 expect(element.text).toEqual('Igor, Misko and one other person are viewi ng.'); 183 expect(element.text).toEqual('Igor, Misko and one other person are viewi ng.');
184 expect(elementAlt.text).toEqual('Igor, Misko and one other person are vi ewing.'); 184 expect(elementAlt.text).toEqual('Igor, Misko and one other person are vi ewing.');
185 185
186 _.rootScope.context['viewCount'] = 4; 186 _.rootScope.viewCount = 4;
187 _.rootScope.apply(); 187 _.rootScope.$digest();
188 expect(element.text).toEqual('Igor, Misko and 2 other people are viewing .'); 188 expect(element.text).toEqual('Igor, Misko and 2 other people are viewing .');
189 expect(elementAlt.text).toEqual('Igor, Misko and 2 other people are view ing.'); 189 expect(elementAlt.text).toEqual('Igor, Misko and 2 other people are view ing.');
190 }))); 190 })));
191 }); 191 });
192 }); 192 });
193 } 193 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698