aboutsummaryrefslogtreecommitdiff
path: root/test/js
diff options
context:
space:
mode:
authorGravatar Ai Hoshino <ambiguous404@gmail.com> 2023-07-11 19:35:11 +0800
committerGravatar GitHub <noreply@github.com> 2023-07-11 19:35:11 +0800
commite7afae305c40acda11c090803219755c2c44d052 (patch)
tree25d56726fc7b99b057a39c9556f61e05b638e227 /test/js
parent17031936c852c2973eacf0929e762972a76ec7bf (diff)
parentb2c576bba2c3274eac32cd0a70318339c3683425 (diff)
downloadbun-e7afae305c40acda11c090803219755c2c44d052.tar.gz
bun-e7afae305c40acda11c090803219755c2c44d052.tar.zst
bun-e7afae305c40acda11c090803219755c2c44d052.zip
Merge branch 'main' into fix-http
Diffstat (limited to 'test/js')
-rw-r--r--test/js/node/crypto/crypto.test.ts9
-rw-r--r--test/js/node/fs/fs.test.ts23
2 files changed, 31 insertions, 1 deletions
diff --git a/test/js/node/crypto/crypto.test.ts b/test/js/node/crypto/crypto.test.ts
index d8bfe5353..b1b8646f3 100644
--- a/test/js/node/crypto/crypto.test.ts
+++ b/test/js/node/crypto/crypto.test.ts
@@ -1,6 +1,6 @@
import { sha, MD5, MD4, SHA1, SHA224, SHA256, SHA384, SHA512, SHA512_256, gc, CryptoHasher } from "bun";
import { it, expect, describe } from "bun:test";
-
+import crypto from "crypto";
const HashClasses = [MD5, MD4, SHA1, SHA224, SHA256, SHA384, SHA512, SHA512_256];
describe("CryptoHasher", () => {
@@ -109,6 +109,13 @@ describe("CryptoHasher", () => {
}
});
+describe("crypto.getCurves", () => {
+ it("should return an array of strings", () => {
+ expect(Array.isArray(crypto.getCurves())).toBe(true);
+ expect(typeof crypto.getCurves()[0]).toBe("string");
+ });
+});
+
describe("crypto", () => {
for (let Hash of HashClasses) {
for (let [input, label] of [
diff --git a/test/js/node/fs/fs.test.ts b/test/js/node/fs/fs.test.ts
index 3b1688c15..0236010be 100644
--- a/test/js/node/fs/fs.test.ts
+++ b/test/js/node/fs/fs.test.ts
@@ -1448,3 +1448,26 @@ describe("utimesSync", () => {
expect(finalStats.atime).toEqual(prevAccessTime);
});
});
+
+it("createReadStream on a large file emits readable event correctly", () => {
+ return new Promise<void>((resolve, reject) => {
+ const tmp = mkdtempSync(`${tmpdir()}/readable`);
+ // write a 10mb file
+ writeFileSync(`${tmp}/large.txt`, "a".repeat(10 * 1024 * 1024));
+ var stream = createReadStream(`${tmp}/large.txt`);
+ var ended = false;
+ var timer: Timer;
+ stream.on("readable", () => {
+ const v = stream.read();
+ if (ended) {
+ clearTimeout(timer);
+ reject(new Error("readable emitted after end"));
+ } else if (v == null) {
+ ended = true;
+ timer = setTimeout(() => {
+ resolve();
+ }, 20);
+ }
+ });
+ });
+});