/* * Tests tagged template string functionality. */ function check(actual, expected) { assertEq(actual.length, expected.length); for (var i = 0; i < expected.length; i++) assertEq(actual[i], expected[i]); } function func(a) { return a; } function csoLoop() { var cso = []; for (var index = 0; index < 2000; index++) { cso[index] = func`hey${4}there`; if (index > 0) assertEq(cso[index - 1], cso[index]); } } // Tests baseline and ion functionality. csoLoop(); // Tests off thread compilation if (helperThreadCount() !== 0) { offThreadCompileScript("(x=>x)`abc`"); a = runOffThreadScript(); check(a, ["abc"]); check(a.raw, ["abc"]); assertEq(a === a.raw, false); assertEq(Object.isFrozen(a), true); assertEq(Object.isFrozen(a.raw), true); }