소스 검색

LibJS: Improve Error/NativeError tests

Some of this stuff is already tested properly in the name and message
prototype tests, so let's focus on covering all error types here as well
instead.
Linus Groh 4 년 전
부모
커밋
8d77a3297a
1개의 변경된 파일30개의 추가작업 그리고 14개의 파일을 삭제
  1. 30 14
      Userland/Libraries/LibJS/Tests/builtins/Error/Error.js

+ 30 - 14
Userland/Libraries/LibJS/Tests/builtins/Error/Error.js

@@ -1,18 +1,34 @@
-test("basic functionality", () => {
-    expect(Error).toHaveLength(1);
-    expect(Error.name).toBe("Error");
-});
+describe("normal behavior", () => {
+    test("length is 1", () => {
+        expect(Error).toHaveLength(1);
+        expect(EvalError).toHaveLength(1);
+        expect(RangeError).toHaveLength(1);
+        expect(ReferenceError).toHaveLength(1);
+        expect(SyntaxError).toHaveLength(1);
+        expect(TypeError).toHaveLength(1);
+    });
 
 
-test("name", () => {
-    [Error(), Error(undefined), Error("test"), Error(42), Error(null)].forEach(error => {
-        expect(error.name).toBe("Error");
+    test("name matches constructor name", () => {
+        expect(Error.name).toBe("Error");
+        expect(EvalError.name).toBe("EvalError");
+        expect(RangeError.name).toBe("RangeError");
+        expect(ReferenceError.name).toBe("ReferenceError");
+        expect(SyntaxError.name).toBe("SyntaxError");
+        expect(TypeError.name).toBe("TypeError");
     });
     });
-});
 
 
-test("message", () => {
-    expect(Error().message).toBe("");
-    expect(Error(undefined).message).toBe("");
-    expect(Error("test").message).toBe("test");
-    expect(Error(42).message).toBe("42");
-    expect(Error(null).message).toBe("null");
+    test("basic functionality", () => {
+        expect(Error()).toBeInstanceOf(Error);
+        expect(new Error()).toBeInstanceOf(Error);
+        expect(EvalError()).toBeInstanceOf(EvalError);
+        expect(new EvalError()).toBeInstanceOf(EvalError);
+        expect(RangeError()).toBeInstanceOf(RangeError);
+        expect(new RangeError()).toBeInstanceOf(RangeError);
+        expect(ReferenceError()).toBeInstanceOf(ReferenceError);
+        expect(new ReferenceError()).toBeInstanceOf(ReferenceError);
+        expect(SyntaxError()).toBeInstanceOf(SyntaxError);
+        expect(new SyntaxError()).toBeInstanceOf(SyntaxError);
+        expect(TypeError()).toBeInstanceOf(TypeError);
+        expect(new TypeError()).toBeInstanceOf(TypeError);
+    });
 });
 });