mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-31 07:23:06 +08:00
* Coerce static string search positions * Record TypeScript parity for string search fixture
20 lines
847 B
JavaScript
20 lines
847 B
JavaScript
let trace = "";
|
|
function receiver() { trace += "r"; return "abcde"; }
|
|
function needle() { trace += "n"; return "bc"; }
|
|
function position() { trace += "p"; return "1.9"; }
|
|
console.log(receiver().indexOf(needle(), position()), trace);
|
|
trace = "";
|
|
console.log(receiver().includes(needle(), position()), trace);
|
|
trace = "";
|
|
console.log(receiver().indexOf(needle(), void position()), trace);
|
|
trace = "";
|
|
console.log(receiver().includes(needle(), void position()), trace);
|
|
|
|
/** @type {(number | string | boolean | null | undefined)[]} */
|
|
const positions = [undefined, null, false, true, "", "2.9", "bad", NaN, -Infinity, -3, 0, 1, 3, Infinity, 99];
|
|
for (const value of positions) {
|
|
const text = "a😀bc😀d";
|
|
console.log(text.indexOf("😀", value), text.indexOf("", value));
|
|
console.log(text.includes("bc", value), text.includes("", value));
|
|
}
|