mirror of
https://github.com/oven-sh/bun
synced 2026-02-11 03:18:53 +00:00
62 lines
1.4 KiB
JavaScript
62 lines
1.4 KiB
JavaScript
import { it, describe, expect } from "bun:test";
|
|
|
|
it("extendable", () => {
|
|
const classes = [
|
|
Blob,
|
|
TextDecoder,
|
|
TextEncoder,
|
|
Request,
|
|
Response,
|
|
Headers,
|
|
HTMLRewriter,
|
|
Bun.Transpiler,
|
|
Buffer,
|
|
];
|
|
// None of these should error
|
|
for (let Class of classes) {
|
|
var Foo = class extends Class {};
|
|
var bar = new Foo();
|
|
expect(bar instanceof Class).toBe(true);
|
|
expect(!!Class.prototype).toBe(true);
|
|
expect(typeof Class.prototype).toBe("object");
|
|
}
|
|
expect(true).toBe(true);
|
|
});
|
|
|
|
it("writable", () => {
|
|
const classes = [
|
|
// ["Blob", Blob],
|
|
["TextDecoder", TextDecoder],
|
|
// ["TextEncoder", TextEncoder],
|
|
["Request", Request],
|
|
["Response", Response],
|
|
["Headers", Headers],
|
|
["Buffer", Buffer],
|
|
// ["HTMLRewriter", HTMLRewriter],
|
|
// ["Transpiler", Bun.Transpiler],
|
|
];
|
|
for (let [name, Class] of classes) {
|
|
globalThis[name] = 123;
|
|
expect(globalThis[name]).toBe(123);
|
|
globalThis[name] = Class;
|
|
expect(globalThis[name]).toBe(Class);
|
|
}
|
|
});
|
|
|
|
it("name", () => {
|
|
const classes = [
|
|
["Blob", Blob],
|
|
["TextDecoder", TextDecoder],
|
|
["TextEncoder", TextEncoder],
|
|
["Request", Request],
|
|
["Response", Response],
|
|
["Headers", Headers],
|
|
["HTMLRewriter", HTMLRewriter],
|
|
["Transpiler", Bun.Transpiler],
|
|
["Buffer", Buffer],
|
|
];
|
|
for (let [name, Class] of classes) {
|
|
expect(Class.name).toBe(name);
|
|
}
|
|
});
|