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

Side by Side Diff: chrome/browser/resources/shared/js/cr_test.html

Issue 6246078: Add an optional set_hook argument to defineProperty. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/browser/resources
Patch Set: Fix jsdoc and spacing. Created 9 years, 10 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 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <title></title> 4 <title></title>
5 <style> 5 <style>
6 6
7 </style> 7 </style>
8 <script src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.j s"></script> 8 <script src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.j s"></script>
9 <script src="cr.js"></script> 9 <script src="cr.js"></script>
10 <script src="cr/event_target.js"></script> 10 <script src="cr/event_target.js"></script>
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 cr.defineProperty(obj, 'test', null, 1); 50 cr.defineProperty(obj, 'test', null, 1);
51 51
52 assertEquals(1, obj.test); 52 assertEquals(1, obj.test);
53 assertEquals(1, obj.test_); 53 assertEquals(1, obj.test_);
54 54
55 obj.test = 2; 55 obj.test = 2;
56 assertEquals(2, obj.test); 56 assertEquals(2, obj.test);
57 assertEquals(2, obj.test_); 57 assertEquals(2, obj.test_);
58 } 58 }
59 59
60 function testDefinePropertyWithSetter() {
61 var obj = new EventTarget;
62
63 var hit = false;
64 function onTestSet(value) {
65 assertEquals(this, obj);
66 assertEquals(this.test, 2);
67 assertEquals(value, 2);
68 hit = true;
69 }
70 cr.defineProperty(obj, 'test', null, 1, onTestSet);
71 obj.test = 2;
72 assertTrue(hit);
73 }
74
60 function testDefinePropertyEvent() { 75 function testDefinePropertyEvent() {
61 var obj = new EventTarget; 76 var obj = new EventTarget;
62 cr.defineProperty(obj, 'test'); 77 cr.defineProperty(obj, 'test');
63 obj.test = 1; 78 obj.test = 1;
64 79
65 var count = 0; 80 var count = 0;
66 function f(e) { 81 function f(e) {
67 assertEquals('testChange', e.type); 82 assertEquals('testChange', e.type);
68 assertEquals('test', e.propertyName); 83 assertEquals('test', e.propertyName);
69 assertEquals(1, e.oldValue); 84 assertEquals(1, e.oldValue);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 cr.defineProperty(obj, 'test', cr.PropertyKind.ATTR, 'a'); 144 cr.defineProperty(obj, 'test', cr.PropertyKind.ATTR, 'a');
130 145
131 assertEquals('a', obj.test); 146 assertEquals('a', obj.test);
132 assertFalse(obj.hasAttribute('test')); 147 assertFalse(obj.hasAttribute('test'));
133 148
134 obj.test = 'b'; 149 obj.test = 'b';
135 assertEquals('b', obj.test); 150 assertEquals('b', obj.test);
136 assertEquals('b', obj.getAttribute('test')); 151 assertEquals('b', obj.getAttribute('test'));
137 } 152 }
138 153
154 function testDefinePropertyAttrWithSetter() {
155 var obj = document.createElement('div');
156
157 var hit = false;
158 function onTestSet(value) {
159 assertEquals(this, obj);
160 assertEquals(value, 'b');
161 assertEquals(this.test, 'b');
162 hit = true;
163 }
164 cr.defineProperty(obj, 'test', cr.PropertyKind.ATTR, 'a', onTestSet);
165 obj.test = 'b';
166 assertTrue(hit);
167 }
168
139 function testDefinePropertyAttrEvent() { 169 function testDefinePropertyAttrEvent() {
140 var obj = document.createElement('div'); 170 var obj = document.createElement('div');
141 cr.defineProperty(obj, 'test', cr.PropertyKind.ATTR); 171 cr.defineProperty(obj, 'test', cr.PropertyKind.ATTR);
142 obj.test = 'a'; 172 obj.test = 'a';
143 173
144 var count = 0; 174 var count = 0;
145 function f(e) { 175 function f(e) {
146 assertEquals('testChange', e.type); 176 assertEquals('testChange', e.type);
147 assertEquals('test', e.propertyName); 177 assertEquals('test', e.propertyName);
148 assertEquals('a', e.oldValue); 178 assertEquals('a', e.oldValue);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 246
217 obj.addEventListener('testChange', f); 247 obj.addEventListener('testChange', f);
218 obj.test = true; 248 obj.test = true;
219 assertTrue(obj.test); 249 assertTrue(obj.test);
220 assertEquals('Should have called the property change listener', 1, count); 250 assertEquals('Should have called the property change listener', 1, count);
221 251
222 obj.test = true; 252 obj.test = true;
223 assertEquals(1, count); 253 assertEquals(1, count);
224 } 254 }
225 255
256 function testDefinePropertyBoolAttrWithTruthyDefaultFails() {
257 var obj = document.createElement('div');
258 assertThrows(function() {
259 cr.defineProperty(obj, 'test', cr.PropertyKind.BOOL_ATTR, true);
260 });
261 }
262
263 function testDefinePropertyBoolAttrEvent() {
264 var obj = document.createElement('div');
265 var hit = false;
266 function onTestSet(value) {
267 assertEquals(this, obj);
268 assertTrue(this.test);
269 assertTrue(value);
270 hit = true;
271 }
272 cr.defineProperty(obj, 'test', cr.PropertyKind.BOOL_ATTR, false, onTestSet);
273 obj.test = true;
274 assertTrue(hit);
275 }
276
226 function testAddSingletonGetter() { 277 function testAddSingletonGetter() {
227 function Foo() {}; 278 function Foo() {};
228 cr.addSingletonGetter(Foo); 279 cr.addSingletonGetter(Foo);
229 280
230 assertNotNull('Should add get instance function', Foo.getInstance); 281 assertNotNull('Should add get instance function', Foo.getInstance);
231 282
232 var x = Foo.getInstance(); 283 var x = Foo.getInstance();
233 assertNotNull('Should successfully create an object', x); 284 assertNotNull('Should successfully create an object', x);
234 285
235 var y = Foo.getInstance(); 286 var y = Foo.getInstance();
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 assertEquals(0, foo.v); 320 assertEquals(0, foo.v);
270 321
271 v = 1; 322 v = 1;
272 assertEquals(1, foo.v); 323 assertEquals(1, foo.v);
273 } 324 }
274 325
275 </script> 326 </script>
276 327
277 </body> 328 </body>
278 </html> 329 </html>
OLDNEW
« chrome/browser/resources/shared/js/cr.js ('K') | « chrome/browser/resources/shared/js/cr.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698