Skip to content

Commit

Permalink
IDB WPTs: Extend nested-cloning tests to workers
Browse files Browse the repository at this point in the history
The update modifies nested-cloning related WPTs to run not only
in window environments but also on dedicated, service, and shared
workers.

Bug: 41455766
Change-Id: Id93f7d9e4dd06994a6d6c1ba1525976d373fc776
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5912593
Reviewed-by: Steve Becker <[email protected]>
Auto-Submit: Garima Chadha <[email protected]>
Reviewed-by: Rahul Singh <[email protected]>
Commit-Queue: Rahul Singh <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1404581}
  • Loading branch information
Garima Chadha authored and chromium-wpt-export-bot committed Jan 10, 2025
1 parent 6680e53 commit acb6ee3
Show file tree
Hide file tree
Showing 8 changed files with 213 additions and 166 deletions.
17 changes: 17 additions & 0 deletions IndexedDB/nested-cloning-basic.any.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// META: title=IndexedDB: basic objects are cloned correctly
// META: global=window,worker
// META: script=resources/support-promises.js
// META: script=resources/nested-cloning-common.js
// META: timeout=long

// Spec: https://w3c.github.io/IndexedDB/#abort-transaction

'use strict';

cloningTest('small typed array', [
{type: 'buffer', size: 64, seed: 1},
]);

cloningTest('blob', [
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-1', seed: 1},
]);
21 changes: 0 additions & 21 deletions IndexedDB/nested-cloning-basic.html

This file was deleted.

105 changes: 105 additions & 0 deletions IndexedDB/nested-cloning-large-multiple.any.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
// META: title=IndexedDB: large nested objects are cloned correctly
// META: global=window,worker
// META: script=resources/support-promises.js
// META: script=resources/nested-cloning-common.js
// META: timeout=long

// Spec: https://w3c.github.io/IndexedDB/#abort-transaction

'use strict';

cloningTestWithKeyGenerator(
'multiple requests of objects with blobs and large typed arrays', [
{
blob: {
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink1',
seed: 1
},
more: [
{type: 'buffer', size: wrapThreshold, seed: 2},
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink3',
seed: 3
},
{type: 'buffer', size: wrapThreshold, seed: 4},
],
blob2: {
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink5',
seed: 5
},
},
[
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink06',
seed: 6
},
{type: 'buffer', size: wrapThreshold, seed: 7},
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink08',
seed: 8
},
{type: 'buffer', size: wrapThreshold, seed: 9},
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink10',
seed: 10
},
],
{
data: [
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink-11',
seed: 11
},
{type: 'buffer', size: wrapThreshold, seed: 12},
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink-13',
seed: 13
},
{type: 'buffer', size: wrapThreshold, seed: 14},
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink-15',
seed: 15
},
],
},
[
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink16',
seed: 16
},
{type: 'buffer', size: wrapThreshold, seed: 17},
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink18',
seed: 18
},
{type: 'buffer', size: wrapThreshold, seed: 19},
{
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink20',
seed: 20
},
],
]);
54 changes: 0 additions & 54 deletions IndexedDB/nested-cloning-large-multiple.html

This file was deleted.

52 changes: 52 additions & 0 deletions IndexedDB/nested-cloning-large.any.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// META: title=IndexedDB: large nested objects are cloned correctly
// META: global=window,worker
// META: script=resources/support-promises.js
// META: script=resources/nested-cloning-common.js
// META: timeout=long

// Spec: https://w3c.github.io/IndexedDB/#abort-transaction

'use strict';

cloningTest('large typed array', [
{type: 'buffer', size: wrapThreshold, seed: 1},
// This test uses non-random data to test that compression doesn't
// break functionality.
{type: 'buffer', size: wrapThreshold, seed: 0},
])

cloningTestWithKeyGenerator('blob with large typed array', [
{
blob: {
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink-01',
seed: 1
},
buffer: {type: 'buffer', size: wrapThreshold, seed: 2},
},
]);

cloningTestWithKeyGenerator('array of blobs and large typed arrays', [
[
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-01', seed: 1},
{type: 'buffer', size: wrapThreshold, seed: 2},
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-03', seed: 3},
{type: 'buffer', size: wrapThreshold, seed: 4},
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-05', seed: 5},
],
]);

cloningTestWithKeyGenerator('object with blobs and large typed arrays', [
{
blob:
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink1', seed: 1},
more: [
{type: 'buffer', size: wrapThreshold, seed: 2},
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink3', seed: 3},
{type: 'buffer', size: wrapThreshold, seed: 4},
],
blob2:
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink5', seed: 5},
},
]);
52 changes: 0 additions & 52 deletions IndexedDB/nested-cloning-large.html

This file was deleted.

39 changes: 39 additions & 0 deletions IndexedDB/nested-cloning-small.any.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// META: title=IndexedDB: small nested objects are cloned correctly
// META: global=window,worker
// META: script=resources/support-promises.js
// META: script=resources/nested-cloning-common.js
// META: timeout=long

// Spec: https://w3c.github.io/IndexedDB/#abort-transaction

'use strict';

cloningTestWithKeyGenerator('blob with small typed array', [
{
blob: {
type: 'blob',
size: wrapThreshold,
mimeType: 'text/x-blink-01',
seed: 1
},
buffer: {type: 'buffer', size: 64, seed: 2},
},
]);

cloningTestWithKeyGenerator('blob array', [
[
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-1', seed: 1},
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-2', seed: 2},
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-3', seed: 3},
],
]);

cloningTestWithKeyGenerator('array of blobs and small typed arrays', [
[
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-01', seed: 1},
{type: 'buffer', size: 64, seed: 2},
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-03', seed: 3},
{type: 'buffer', size: 64, seed: 4},
{type: 'blob', size: wrapThreshold, mimeType: 'text/x-blink-05', seed: 5},
],
]);
39 changes: 0 additions & 39 deletions IndexedDB/nested-cloning-small.html

This file was deleted.

0 comments on commit acb6ee3

Please sign in to comment.