diff options
Diffstat (limited to 'js/src/jit-test/tests/TypedObject/inlineopaque.js')
-rw-r--r-- | js/src/jit-test/tests/TypedObject/inlineopaque.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/TypedObject/inlineopaque.js b/js/src/jit-test/tests/TypedObject/inlineopaque.js new file mode 100644 index 000000000..709ee0406 --- /dev/null +++ b/js/src/jit-test/tests/TypedObject/inlineopaque.js @@ -0,0 +1,25 @@ +if (!this.hasOwnProperty("TypedObject")) + quit(); + +var TO = TypedObject; + +var PointType = new TO.StructType({x: TO.float64, y: TO.float64, name:TO.string}); +var LineType = new TO.StructType({from: PointType, to: PointType}); + +function testBasic(gc) { + var line = new LineType(); + var from = line.from; + var to = line.to; + line.from.x = 12; + line.from.name = "three"; + if (gc) + minorgc(); + assertEq(to.name, ""); + assertEq(from.name, "three"); + assertEq(from.x, 12); + assertEq(from.y, 0); +} +for (var i = 0; i < 5; i++) + testBasic(false); +for (var i = 0; i < 5; i++) + testBasic(true); |