summaryrefslogtreecommitdiff
path: root/core/shared_queue_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'core/shared_queue_test.js')
-rw-r--r--core/shared_queue_test.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/core/shared_queue_test.js b/core/shared_queue_test.js
index 75a877930..e2597f3bc 100644
--- a/core/shared_queue_test.js
+++ b/core/shared_queue_test.js
@@ -6,6 +6,21 @@ function assert(cond) {
}
}
+// Check overflow (corresponds to full_records test in rust)
+function fullRecords(q) {
+ q.reset();
+ const oneByte = new Uint8Array([42]);
+ for (let i = 0; i < q.MAX_RECORDS; i++) {
+ assert(q.push(oneByte));
+ }
+ assert(!q.push(oneByte));
+ r = q.shift();
+ assert(r.byteLength == 1);
+ assert(r[0] == 42);
+ // Even if we shift one off, we still cannot push a new record.
+ assert(!q.push(oneByte));
+}
+
function main() {
const q = Deno.core.sharedQueue;
@@ -56,7 +71,10 @@ function main() {
assert(q.numRecords() == 0);
assert(q.size() == 0);
+ fullRecords(q);
+
Deno.core.print("shared_queue_test.js ok\n");
+ q.reset();
}
main();