Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)
it("should return the input for valid Unicode surrogates", () => {
assert.equal(sut("\uD83D\uDE00"), "\uD83D\uDE00");
});
-
surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)
it("should return the input for valid Unicode surrogates", () => {
assert.equal(sut("\uD83D\uDE00"), "\uD83D\uDE00");
});
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
it("should return the input for invalid Unicode surrogates", () => {
assert.equal(sut("\uD83D"), "\uD83D");
assert.equal(sut("\uD83Da"), "\uD83Da");
assert.equal(sut("a\uD83D"), "a\uD83D");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
it("should return the input for invalid Unicode surrogates", () => {
assert.equal(sut("\uD83D"), "\uD83D");
assert.equal(sut("\uD83Da"), "\uD83Da");
assert.equal(sut("a\uD83D"), "a\uD83D");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uD83D"), "\uD83D");
assert.equal(sut("\uD83Da"), "\uD83Da");
assert.equal(sut("a\uD83D"), "a\uD83D");
assert.equal(sut("a\uD83Da"), "a\uD83Da");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uD83D"), "\uD83D");
assert.equal(sut("\uD83Da"), "\uD83Da");
assert.equal(sut("a\uD83D"), "a\uD83D");
assert.equal(sut("a\uD83Da"), "a\uD83Da");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uD83Da"), "\uD83Da");
assert.equal(sut("a\uD83D"), "a\uD83D");
assert.equal(sut("a\uD83Da"), "a\uD83Da");
assert.equal(sut("\uDE00"), "\uDE00");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uD83Da"), "\uD83Da");
assert.equal(sut("a\uD83D"), "a\uD83D");
assert.equal(sut("a\uD83Da"), "a\uD83Da");
assert.equal(sut("\uDE00"), "\uDE00");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uD83D"), "a\uD83D");
assert.equal(sut("a\uD83Da"), "a\uD83Da");
assert.equal(sut("\uDE00"), "\uDE00");
assert.equal(sut("\uDE00a"), "\uDE00a");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uD83D"), "a\uD83D");
assert.equal(sut("a\uD83Da"), "a\uD83Da");
assert.equal(sut("\uDE00"), "\uDE00");
assert.equal(sut("\uDE00a"), "\uDE00a");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uD83Da"), "a\uD83Da");
assert.equal(sut("\uDE00"), "\uDE00");
assert.equal(sut("\uDE00a"), "\uDE00a");
assert.equal(sut("a\uDE00"), "a\uDE00");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uD83Da"), "a\uD83Da");
assert.equal(sut("\uDE00"), "\uDE00");
assert.equal(sut("\uDE00a"), "\uDE00a");
assert.equal(sut("a\uDE00"), "a\uDE00");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uDE00"), "\uDE00");
assert.equal(sut("\uDE00a"), "\uDE00a");
assert.equal(sut("a\uDE00"), "a\uDE00");
assert.equal(sut("a\uDE00a"), "a\uDE00a");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uDE00"), "\uDE00");
assert.equal(sut("\uDE00a"), "\uDE00a");
assert.equal(sut("a\uDE00"), "a\uDE00");
assert.equal(sut("a\uDE00a"), "a\uDE00a");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uDE00a"), "\uDE00a");
assert.equal(sut("a\uDE00"), "a\uDE00");
assert.equal(sut("a\uDE00a"), "a\uDE00a");
assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uDE00a"), "\uDE00a");
assert.equal(sut("a\uDE00"), "a\uDE00");
assert.equal(sut("a\uDE00a"), "a\uDE00a");
assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uDE00"), "a\uDE00");
assert.equal(sut("a\uDE00a"), "a\uDE00a");
assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
});
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uDE00"), "a\uDE00");
assert.equal(sut("a\uDE00a"), "a\uDE00a");
assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
});
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uDE00a"), "a\uDE00a");
assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
});
});
-
orphaned high surrogate \uD830 (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uDE00a"), "a\uDE00a");
assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
});
});
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uDE00a"), "a\uDE00a");
assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
});
});
-
orphaned high surrogate \uD830 (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uDE00a"), "a\uDE00a");
assert.equal(sut("\uDE00\uD830"), "\uDE00\uD830");
});
});
-
surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)
it("should throw a TypeError for valid Unicode surrogates", () => {
assertThrows(sut, ["\uD83D\uDE00"], TypeError);
});
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
it("should throw a TypeError for invalid Unicode surrogates", () => {
assertThrows(sut, ["\uD83D"], TypeError);
assertThrows(sut, ["\uD83Da"], TypeError);
assertThrows(sut, ["a\uD83D"], TypeError);
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assertThrows(sut, ["\uD83D"], TypeError);
assertThrows(sut, ["\uD83Da"], TypeError);
assertThrows(sut, ["a\uD83D"], TypeError);
assertThrows(sut, ["a\uD83Da"], TypeError);
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assertThrows(sut, ["\uD83Da"], TypeError);
assertThrows(sut, ["a\uD83D"], TypeError);
assertThrows(sut, ["a\uD83Da"], TypeError);
assertThrows(sut, ["\uDE00"], TypeError);
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assertThrows(sut, ["a\uD83D"], TypeError);
assertThrows(sut, ["a\uD83Da"], TypeError);
assertThrows(sut, ["\uDE00"], TypeError);
assertThrows(sut, ["\uDE00a"], TypeError);
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assertThrows(sut, ["a\uD83Da"], TypeError);
assertThrows(sut, ["\uDE00"], TypeError);
assertThrows(sut, ["\uDE00a"], TypeError);
assertThrows(sut, ["a\uDE00"], TypeError);
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assertThrows(sut, ["\uDE00"], TypeError);
assertThrows(sut, ["\uDE00a"], TypeError);
assertThrows(sut, ["a\uDE00"], TypeError);
assertThrows(sut, ["a\uDE00a"], TypeError);
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assertThrows(sut, ["\uDE00a"], TypeError);
assertThrows(sut, ["a\uDE00"], TypeError);
assertThrows(sut, ["a\uDE00a"], TypeError);
assertThrows(sut, ["\uDE00\uD830"], TypeError);
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assertThrows(sut, ["a\uDE00"], TypeError);
assertThrows(sut, ["a\uDE00a"], TypeError);
assertThrows(sut, ["\uDE00\uD830"], TypeError);
});
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assertThrows(sut, ["a\uDE00a"], TypeError);
assertThrows(sut, ["\uDE00\uD830"], TypeError);
});
});
-
orphaned high surrogate \uD830 (no matching low surrogate) (token pass, confidence 0.65)
assertThrows(sut, ["a\uDE00a"], TypeError);
assertThrows(sut, ["\uDE00\uD830"], TypeError);
});
});
-
surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)
it("should return the input for valid Unicode surrogates", () => {
assert.equal(sut("\uD83D\uDE00"), "\uD83D\uDE00");
});
-
surrogate pair \uD83D\uDE00 (non-scalar Unicode codepoints in string literal) (token pass, confidence 0.70)
it("should return the input for valid Unicode surrogates", () => {
assert.equal(sut("\uD83D\uDE00"), "\uD83D\uDE00");
});
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
it("should replace invalid Unicode surrogates with U+FFFD REPLACEMENT CHARACTER", () => {
assert.equal(sut("\uD83D"), "\uFFFD");
assert.equal(sut("\uD83Da"), "\uFFFDa");
assert.equal(sut("a\uD83D"), "a\uFFFD");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uD83D"), "\uFFFD");
assert.equal(sut("\uD83Da"), "\uFFFDa");
assert.equal(sut("a\uD83D"), "a\uFFFD");
assert.equal(sut("a\uD83Da"), "a\uFFFDa");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uD83Da"), "\uFFFDa");
assert.equal(sut("a\uD83D"), "a\uFFFD");
assert.equal(sut("a\uD83Da"), "a\uFFFDa");
assert.equal(sut("\uDE00"), "\uFFFD");
-
orphaned high surrogate \uD83D (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uD83D"), "a\uFFFD");
assert.equal(sut("a\uD83Da"), "a\uFFFDa");
assert.equal(sut("\uDE00"), "\uFFFD");
assert.equal(sut("\uDE00a"), "\uFFFDa");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uD83Da"), "a\uFFFDa");
assert.equal(sut("\uDE00"), "\uFFFD");
assert.equal(sut("\uDE00a"), "\uFFFDa");
assert.equal(sut("a\uDE00"), "a\uFFFD");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uDE00"), "\uFFFD");
assert.equal(sut("\uDE00a"), "\uFFFDa");
assert.equal(sut("a\uDE00"), "a\uFFFD");
assert.equal(sut("a\uDE00a"), "a\uFFFDa");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("\uDE00a"), "\uFFFDa");
assert.equal(sut("a\uDE00"), "a\uFFFD");
assert.equal(sut("a\uDE00a"), "a\uFFFDa");
assert.equal(sut("\uDE00\uD830"), "\uFFFD\uFFFD");
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uDE00"), "a\uFFFD");
assert.equal(sut("a\uDE00a"), "a\uFFFDa");
assert.equal(sut("\uDE00\uD830"), "\uFFFD\uFFFD");
});
-
orphaned low surrogate \uDE00 (no preceding high surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uDE00a"), "a\uFFFDa");
assert.equal(sut("\uDE00\uD830"), "\uFFFD\uFFFD");
});
});
-
orphaned high surrogate \uD830 (no matching low surrogate) (token pass, confidence 0.65)
assert.equal(sut("a\uDE00a"), "a\uFFFDa");
assert.equal(sut("\uDE00\uD830"), "\uFFFD\uFFFD");
});
});
Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.