From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann <daniel.baumann@progress-linux.org> Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org> --- .../web-platform/tests/IndexedDB/idbkeyrange.htm | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 testing/web-platform/tests/IndexedDB/idbkeyrange.htm (limited to 'testing/web-platform/tests/IndexedDB/idbkeyrange.htm') diff --git a/testing/web-platform/tests/IndexedDB/idbkeyrange.htm b/testing/web-platform/tests/IndexedDB/idbkeyrange.htm new file mode 100644 index 0000000000..a387dc74e6 --- /dev/null +++ b/testing/web-platform/tests/IndexedDB/idbkeyrange.htm @@ -0,0 +1,94 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>IDBKeyRange Tests</title> +<link rel="author" title="Microsoft" href="http://www.microsoft.com"> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=resources/support.js></script> + +<script> + // only + test( function() { + var keyRange = IDBKeyRange.only(1); + assert_true(keyRange instanceof IDBKeyRange, "keyRange instanceof IDBKeyRange"); + assert_equals(keyRange.lower, 1, "keyRange"); + assert_equals(keyRange.upper, 1, "keyRange"); + assert_false(keyRange.lowerOpen, "keyRange.lowerOpen"); + assert_false(keyRange.upperOpen, "keyRange.upperOpen"); + }, "IDBKeyRange.only() - returns an IDBKeyRange and the properties are set correctly"); + + test( function() { + assert_throws_dom('DataError', function() { IDBKeyRange.only(undefined); }, 'undefined is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.only(null); }, 'null is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.only({}); }, 'Object is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.only(Symbol()); }, 'Symbol is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.only(true); }, 'boolean is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.only(() => {}); }, 'function is not a valid key'); + }, "IDBKeyRange.only() - throws on invalid keys"); + + // lowerBound + test( function() { + var keyRange = IDBKeyRange.lowerBound(1, true) + assert_true(keyRange instanceof IDBKeyRange, "keyRange instanceof IDBKeyRange"); + assert_equals(keyRange.lower, 1, "keyRange.lower"); + assert_equals(keyRange.upper, undefined, "keyRange.upper"); + assert_true(keyRange.lowerOpen, "keyRange.lowerOpen"); + assert_true(keyRange.upperOpen, "keyRange.upperOpen"); + }, "IDBKeyRange.lowerBound() - returns an IDBKeyRange and the properties are set correctly"); + + test( function() { + var keyRange = IDBKeyRange.lowerBound(1); + assert_false(keyRange.lowerOpen, "keyRange.lowerOpen"); + }, "IDBKeyRange.lowerBound() - 'open' parameter has correct default set"); + + test( function() { + assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(undefined); }, 'undefined is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(null); }, 'null is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound({}); }, 'Object is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(Symbol()); }, 'Symbol is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(true); }, 'boolean is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.lowerBound(() => {}); }, 'function is not a valid key'); + }, "IDBKeyRange.lowerBound() - throws on invalid keys"); + + // upperBound + test( function() { + var keyRange = IDBKeyRange.upperBound(1, true); + assert_true(keyRange instanceof IDBKeyRange, "keyRange instanceof IDBKeyRange"); + assert_equals(keyRange.lower, undefined, "keyRange.lower"); + assert_equals(keyRange.upper, 1, "keyRange.upper"); + assert_true(keyRange.lowerOpen, "keyRange.lowerOpen"); + assert_true(keyRange.upperOpen, "keyRange.upperOpen"); + }, "IDBKeyRange.upperBound() - returns an IDBKeyRange and the properties are set correctly"); + + test( function() { + var keyRange = IDBKeyRange.upperBound(1); + assert_false(keyRange.upperOpen, "keyRange.upperOpen"); + }, "IDBKeyRange.upperBound() - 'open' parameter has correct default set"); + + test( function() { + assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(undefined); }, 'undefined is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(null); }, 'null is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.upperBound({}); }, 'Object is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(Symbol()); }, 'Symbol is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(true); }, 'boolean is not a valid key'); + assert_throws_dom('DataError', function() { IDBKeyRange.upperBound(() => {}); }, 'function is not a valid key'); + }, "IDBKeyRange.upperBound() - throws on invalid keys"); + + // bound + test( function() { + var keyRange = IDBKeyRange.bound(1, 2, true, true); + assert_true(keyRange instanceof IDBKeyRange, "keyRange instanceof IDBKeyRange"); + assert_equals(keyRange.lower, 1, "keyRange"); + assert_equals(keyRange.upper, 2, "keyRange"); + assert_true(keyRange.lowerOpen, "keyRange.lowerOpen"); + assert_true(keyRange.upperOpen, "keyRange.upperOpen"); + }, "IDBKeyRange.bound() - returns an IDBKeyRange and the properties are set correctly"); + + test( function() { + var keyRange = IDBKeyRange.bound(1, 2); + assert_false(keyRange.lowerOpen, "keyRange.lowerOpen"); + assert_false(keyRange.upperOpen, "keyRange.upperOpen"); + }, "IDBKeyRange.bound() - 'lowerOpen' and 'upperOpen' parameters have correct defaults set"); +</script> + +<div id=log></div> -- cgit v1.2.3