blob: e560638353f8b7f35e250f6db7c163f9438cb5bf [file] [log] [blame]
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/js-test-resources/gc.js"></script>
<script src="/js-test-resources/js-test.js"></script>
<script>
'use strict';
// This is a Blink-specific test because it involves garbage collection.
for (const constructor of [TextEncoderStream, TextDecoderStream]) {
promise_test(async () => {
const transform = new constructor();
if (typeof GCController !== 'undefined')
await asyncGC();
// This test will generally crash on the next line if it fails.
assert_true(transform.readable instanceof ReadableStream,
'readable side must still be set');
assert_true(transform.writable instanceof WritableStream,
'writable side must still be set');
}, `${constructor.name} readable and writable properties must survive GC`);
}
</script>