| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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> |
| OLD | NEW |