]> Lady’s Gitweb - Pisces/blobdiff - string.test.js
Make base32 handling less forgiving
[Pisces] / string.test.js
index 52e848c3b75bcde588593512b66137d20ce34c22..95c715e3636b5bee2b1fef6e775a2ccfcf5a3549 100644 (file)
@@ -1,7 +1,7 @@
 // ♓🌟 Piscēs ∷ string.test.js
 // ====================================================================
 //
-// Copyright © 2022 Lady [@ Lady’s Computer].
+// Copyright © 2022–2023 Lady [@ Lady’s Computer].
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -95,17 +95,17 @@ describe("Matcher", () => {
 
     it("[[Call]] calls the constraint if the match succeeds", () => {
       const constraint = spy((_) => true);
-      const matcher = new Matcher(".*", undefined, constraint);
-      matcher.exec({
+      const matcher = new Matcher("(.).*", undefined, constraint);
+      const result = matcher.exec({
         toString() {
           return "etaoin";
         },
       });
       assertSpyCalls(constraint, 1);
-      assertSpyCall(constraint, 0, {
-        args: ["etaoin", matcher],
-        self: undefined,
-      });
+      assertStrictEquals(constraint.calls[0].args[0], "etaoin");
+      assertEquals([...constraint.calls[0].args[1]], ["etaoin", "e"]);
+      assertStrictEquals(constraint.calls[0].args[2], matcher);
+      assertStrictEquals(constraint.calls[0].self, undefined);
     });
 
     it("[[Call]] does not call the constraint if the match fails", () => {
@@ -184,6 +184,12 @@ describe("Matcher", () => {
     });
   });
 
+  describe("::toString", () => {
+    it("[[Get]] does not throw an error", () => {
+      new Matcher(/(?:)/u).toString();
+    });
+  });
+
   describe("::unicode", () => {
     it("[[Get]] returns true when the unicode flag is present", () => {
       assertStrictEquals(new Matcher(/(?:)/u).unicode, true);
@@ -204,13 +210,13 @@ describe("Matcher", () => {
 
     it("[[Call]] calls the constraint if the match succeeds", () => {
       const constraint = spy((_) => true);
-      const matcher = new Matcher(".*", undefined, constraint);
+      const matcher = new Matcher("(.).*", undefined, constraint);
       matcher("etaoin");
       assertSpyCalls(constraint, 1);
-      assertSpyCall(constraint, 0, {
-        args: ["etaoin", matcher],
-        self: undefined,
-      });
+      assertStrictEquals(constraint.calls[0].args[0], "etaoin");
+      assertEquals([...constraint.calls[0].args[1]], ["etaoin", "e"]);
+      assertStrictEquals(constraint.calls[0].args[2], matcher);
+      assertStrictEquals(constraint.calls[0].self, undefined);
     });
 
     it("[[Call]] does not call the constraint if the match fails", () => {
This page took 0.023065 seconds and 4 git commands to generate.