function shouldBe(actual, expected) { if (actual !== expected) throw new Error(`bad value: expected:(${expected}),actual:(${actual})`); } function toStringLeft(num) { return num + 'Cocoa'; } noInline(toStringLeft); function toStringRight(num) { return 'Cocoa' + num; } noInline(toStringRight); function toStringLeftEmpty(num) { return num + ''; } noInline(toStringLeftEmpty); function toStringRightEmpty(num) { return '' + num; } noInline(toStringRightEmpty); for (var i = 0; i < 1e4; ++i) { shouldBe(toStringLeft(2), `2Cocoa`); shouldBe(toStringRight(2), `Cocoa2`); shouldBe(toStringLeftEmpty(2), `2`); shouldBe(toStringRightEmpty(2), `2`); shouldBe(toStringLeft(42), `42Cocoa`); shouldBe(toStringRight(42), `Cocoa42`); shouldBe(toStringLeftEmpty(42), `42`); shouldBe(toStringRightEmpty(42), `42`); }