OLD | NEW |
1 /* | 1 /* |
2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
3 * Copyright (C) 2006-2015 Eyeo GmbH | 3 * Copyright (C) 2006-2015 Eyeo GmbH |
4 * | 4 * |
5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
8 * | 8 * |
9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 obj2.bar = obj1; | 204 obj2.bar = obj1; |
205 ok(obj1.equals(obj2.bar), "Object equal to reference to itself"); | 205 ok(obj1.equals(obj2.bar), "Object equal to reference to itself"); |
206 ok(obj2.bar.equals(obj1), "Object equal to reference to itself"); | 206 ok(obj2.bar.equals(obj1), "Object equal to reference to itself"); |
207 ok(obj2.bar.equals(obj2.bar), "Object reference equals to itself"); | 207 ok(obj2.bar.equals(obj2.bar), "Object reference equals to itself"); |
208 | 208 |
209 let obj5 = type2(); | 209 let obj5 = type2(); |
210 obj5.bar = null; | 210 obj5.bar = null; |
211 ok(!obj2.bar.equals(obj5.bar), "Object reference not equal to null reference
"); | 211 ok(!obj2.bar.equals(obj5.bar), "Object reference not equal to null reference
"); |
212 | 212 |
213 obj5.bar = obj3; | 213 obj5.bar = obj3; |
214 ok(!obj2.bar.equals(obj5.bar), "Object reference not equal to reference to a
nother object") | 214 ok(!obj2.bar.equals(obj5.bar), "Object reference not equal to reference to a
nother object"); |
215 ok(!obj5.bar.equals(obj2.bar), "Object reference not equal to reference to a
nother object") | 215 ok(!obj5.bar.equals(obj2.bar), "Object reference not equal to reference to a
nother object"); |
216 }); | 216 }); |
217 | 217 |
218 test("Object inheritance", function() | 218 test("Object inheritance", function() |
219 { | 219 { |
220 let {ObjectType, uint8, float32} = require("typedObjects"); | 220 let {ObjectType, uint8, float32} = require("typedObjects"); |
221 | 221 |
222 // Property inheritance | 222 // Property inheritance |
223 let type1 = new ObjectType({ | 223 let type1 = new ObjectType({ |
224 foo: uint8 | 224 foo: uint8 |
225 }); | 225 }); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 let obj4 = type4(2); | 264 let obj4 = type4(2); |
265 equal(obj3.x, 2, "Superclass constructor executed correctly"); | 265 equal(obj3.x, 2, "Superclass constructor executed correctly"); |
266 equal(obj4.x, 6, "Subclass constructor executed correctly"); | 266 equal(obj4.x, 6, "Subclass constructor executed correctly"); |
267 | 267 |
268 equal(typeof obj3.foo, "function", "Superclass method exists in superclass")
; | 268 equal(typeof obj3.foo, "function", "Superclass method exists in superclass")
; |
269 equal(typeof obj3.bar, "undefined", "Subclass method doesn't exist in superc
lass"); | 269 equal(typeof obj3.bar, "undefined", "Subclass method doesn't exist in superc
lass"); |
270 equal(typeof obj4.foo, "function", "Superclass method exists in subclass"); | 270 equal(typeof obj4.foo, "function", "Superclass method exists in subclass"); |
271 equal(typeof obj4.bar, "function", "Subclass method exists in subclass"); | 271 equal(typeof obj4.bar, "function", "Subclass method exists in subclass"); |
272 | 272 |
273 equal(obj3.foo(4), 8, "Superclass method executed correctly"); | 273 equal(obj3.foo(4), 8, "Superclass method executed correctly"); |
274 equal(obj4.foo(4), 30, "Overridden superclass method executed correctly") | 274 equal(obj4.foo(4), 30, "Overridden superclass method executed correctly"); |
275 | 275 |
276 let type5 = type3.extend({ | 276 let type5 = type3.extend({ |
277 y: uint8 | 277 y: uint8 |
278 }); | 278 }); |
279 let obj5 = type5(4); | 279 let obj5 = type5(4); |
280 equal(obj5.x, 4, "Superclass constructor is called even if subclass has no c
onstructor"); | 280 equal(obj5.x, 4, "Superclass constructor is called even if subclass has no c
onstructor"); |
281 | 281 |
282 // Untypical overrides | 282 // Untypical overrides |
283 type3.extend({x: uint8}); | 283 type3.extend({x: uint8}); |
284 ok(true, "Overriding property without changing type"); | 284 ok(true, "Overriding property without changing type"); |
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
802 s11.release(); | 802 s11.release(); |
803 | 803 |
804 let s12 = string(s8, 4); | 804 let s12 = string(s8, 4); |
805 ok(s12, "String created as typed substring without length parameter"); | 805 ok(s12, "String created as typed substring without length parameter"); |
806 equal(s12.length, 10, "String length set correctly"); | 806 equal(s12.length, 10, "String length set correctly"); |
807 equal(s12.toString(), "longstring", "JavaScript representation is correct"); | 807 equal(s12.toString(), "longstring", "JavaScript representation is correct"); |
808 s12.release(); | 808 s12.release(); |
809 s8.release(); | 809 s8.release(); |
810 }); | 810 }); |
811 })(); | 811 })(); |
OLD | NEW |