| <!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> |