diff options
Diffstat (limited to 'testing/web-platform/tests/notifications/resources/custom-data.js')
-rw-r--r-- | testing/web-platform/tests/notifications/resources/custom-data.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/testing/web-platform/tests/notifications/resources/custom-data.js b/testing/web-platform/tests/notifications/resources/custom-data.js new file mode 100644 index 0000000000..b21d28a1bb --- /dev/null +++ b/testing/web-platform/tests/notifications/resources/custom-data.js @@ -0,0 +1,66 @@ +var fakeCustomData = (function() { + var buffer = new ArrayBuffer(2); + new DataView(buffer).setInt16(0, 42, true); + var canvas = document.createElement("canvas"); + canvas.width = canvas.height = 100; + var context = canvas.getContext("2d"); + + var map = new Map(); + var set = new Set(); + map.set("test", 42); + set.add(4); + set.add(2); + + return { + primitives: { + a: 123, + b: "test", + c: true, + d: [1, 2, 3], + }, + date: new Date(2013, 2, 1, 1, 10), + regexp: new RegExp("[^.]+"), + arrayBuffer: buffer, + imageData: context.createImageData(100, 100), + map, + set, + }; +})(); + +function assert_custom_data(dataObj) { + assert_equals(typeof dataObj, "object", "data should be a JS object"); + assert_equals( + JSON.stringify(dataObj.primitives), + JSON.stringify(fakeCustomData.primitives), + "data.primitives should be preserved" + ); + assert_equals( + dataObj.date.toDateString(), + fakeCustomData.date.toDateString(), + "data.date should be preserved" + ); + assert_equals( + dataObj.regexp.exec("http://www.domain.com")[0].substr(7), + "www", + "data.regexp should be preserved" + ); + assert_equals( + new Int16Array(dataObj.arrayBuffer)[0], + 42, + "data.arrayBuffer should be preserved" + ); + assert_equals( + JSON.stringify(dataObj.imageData.data), + JSON.stringify(fakeCustomData.imageData.data), + "data.imageData should be preserved" + ) + assert_equals( + dataObj.map.get("test"), + 42, + "data.map should be preserved" + ); + assert_true( + dataObj.set.has(4) && dataObj.set.has(2), + "data.set should be preserved" + ); +} |