| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| |
| <script> |
| |
| test(() => { |
| var quad = new DOMQuad(); |
| assert_equals(quad.__proto__, DOMQuad.prototype); |
| |
| var toJSONDescriptor = Object.getOwnPropertyDescriptor(DOMQuad.prototype, "toJSON"); |
| assert_own_property(toJSONDescriptor, "value"); |
| assert_true(toJSONDescriptor.enumerable); |
| assert_true(toJSONDescriptor.configurable); |
| assert_true(toJSONDescriptor.writable); |
| }, "DOMQuad has a toJSON function"); |
| |
| function check(jsonObject, quad) |
| { |
| assert_equals(jsonObject.p1.x, quad.p1.x, "Expected value for p1.x is " + quad.p1.x); |
| assert_equals(jsonObject.p1.y, quad.p1.y, "Expected value for p1.y is " + quad.p1.y); |
| assert_equals(jsonObject.p1.z, quad.p1.z, "Expected value for p1.z is " + quad.p1.z); |
| assert_equals(jsonObject.p1.w, quad.p1.w, "Expected value for p1.w is " + quad.p1.w); |
| assert_equals(jsonObject.p2.x, quad.p2.x, "Expected value for p2.x is " + quad.p2.x); |
| assert_equals(jsonObject.p2.y, quad.p2.y, "Expected value for p2.y is " + quad.p2.y); |
| assert_equals(jsonObject.p2.z, quad.p2.z, "Expected value for p2.z is " + quad.p2.z); |
| assert_equals(jsonObject.p2.w, quad.p2.w, "Expected value for p2.w is " + quad.p2.w); |
| assert_equals(jsonObject.p3.x, quad.p3.x, "Expected value for p3.x is " + quad.p3.x); |
| assert_equals(jsonObject.p3.y, quad.p3.y, "Expected value for p3.y is " + quad.p3.y); |
| assert_equals(jsonObject.p3.z, quad.p3.z, "Expected value for p3.z is " + quad.p3.z); |
| assert_equals(jsonObject.p3.w, quad.p3.w, "Expected value for p3.w is " + quad.p3.w); |
| assert_equals(jsonObject.p4.x, quad.p4.x, "Expected value for p4.x is " + quad.p4.x); |
| assert_equals(jsonObject.p4.y, quad.p4.y, "Expected value for p4.y is " + quad.p4.y); |
| assert_equals(jsonObject.p4.z, quad.p4.z, "Expected value for p4.z is " + quad.p4.z); |
| assert_equals(jsonObject.p4.w, quad.p4.w, "Expected value for p4.w is " + quad.p4.w); |
| } |
| |
| test(() => { |
| var quad = new DOMQuad(); |
| jsonObject = quad.toJSON(); |
| check(jsonObject, quad); |
| }, "The values of all the points in a DOMQuad are serialized to JSON."); |
| |
| test(() => { |
| var quad = new DOMQuad(); |
| parsedJSONObject = JSON.parse(JSON.stringify(quad)) |
| check(parsedJSONObject, quad); |
| }, "The values of all the points in a DOMQuad are preserved through a round-trip through JSON.stringify and JSON.parse"); |
| |
| </script> |
| </body> |
| </html> |