summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/IndexedDB/idb_binary_key_conversion.htm
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /testing/web-platform/tests/IndexedDB/idb_binary_key_conversion.htm
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/web-platform/tests/IndexedDB/idb_binary_key_conversion.htm')
-rw-r--r--testing/web-platform/tests/IndexedDB/idb_binary_key_conversion.htm79
1 files changed, 79 insertions, 0 deletions
diff --git a/testing/web-platform/tests/IndexedDB/idb_binary_key_conversion.htm b/testing/web-platform/tests/IndexedDB/idb_binary_key_conversion.htm
new file mode 100644
index 000000000..b55e6324b
--- /dev/null
+++ b/testing/web-platform/tests/IndexedDB/idb_binary_key_conversion.htm
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Verify the coversion of various types of BufferSource</title>
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="http://w3c.github.io/IndexedDB/#key-construct">
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+
+<script>
+ test(function() {
+ let binary = new ArrayBuffer(0);
+ let key = IDBKeyRange.lowerBound(binary).lower;
+
+ assert_true(key instanceof ArrayBuffer);
+ assert_equals(key.byteLength, 0);
+ assert_equals(key.byteLength, binary.byteLength);
+ }, "Empty ArrayBuffer");
+
+ test(function() {
+ let binary = new ArrayBuffer(4);
+ let dataView = new DataView(binary);
+ dataView.setUint32(0, 1234567890);
+
+ let key = IDBKeyRange.lowerBound(binary).lower;
+
+ assert_true(key instanceof ArrayBuffer);
+ assert_equals(key.byteLength, 4);
+ assert_equals(dataView.getUint32(0), new DataView(key).getUint32(0));
+ }, "ArrayBuffer");
+
+ test(function() {
+ let binary = new ArrayBuffer(4);
+ let dataView = new DataView(binary);
+ dataView.setUint32(0, 1234567890);
+
+ let key = IDBKeyRange.lowerBound(dataView).lower;
+
+ assert_true(key instanceof ArrayBuffer);
+ assert_equals(key.byteLength, 4);
+ assert_equals(dataView.getUint32(0), new DataView(key).getUint32(0));
+ }, "DataView");
+
+ test(function() {
+ let binary = new ArrayBuffer(4);
+ let dataView = new DataView(binary);
+ let int8Array = new Int8Array(binary);
+ int8Array.set([16, -32, 64, -128]);
+
+ let key = IDBKeyRange.lowerBound(int8Array).lower;
+ let keyInInt8Array = new Int8Array(key);
+
+ assert_true(key instanceof ArrayBuffer);
+ assert_equals(key.byteLength, 4);
+ for(let i = 0; i < int8Array.length; i++) {
+ assert_equals(keyInInt8Array[i], int8Array[i]);
+ }
+ }, "TypedArray(Int8Array)");
+
+ test(function() {
+ let binary = new ArrayBuffer(4);
+ let dataView = new DataView(binary);
+ let int8Array = new Int8Array(binary);
+ int8Array.set([16, -32, 64, -128]);
+
+ let key = IDBKeyRange.lowerBound([int8Array]).lower;
+
+ assert_true(key instanceof Array);
+ assert_true(key[0] instanceof ArrayBuffer);
+ assert_equals(key[0].byteLength, 4);
+
+ let keyInInt8Array = new Int8Array(key[0]);
+
+ for(let i = 0; i < int8Array.length; i++) {
+ assert_equals(keyInInt8Array[i], int8Array[i]);
+ }
+ }, "Array of TypedArray(Int8Array)");
+</script>
+
+<div id=log></div>