| Index: test/webkit/fast/js/string-fontcolor.js
|
| diff --git a/test/webkit/cached-call-uninitialized-arguments.js b/test/webkit/fast/js/string-fontcolor.js
|
| similarity index 56%
|
| copy from test/webkit/cached-call-uninitialized-arguments.js
|
| copy to test/webkit/fast/js/string-fontcolor.js
|
| index de3f098800776a4d3ea0493b4db7876824f0d1e4..67f4ef2e07826f59779f19bb47a51f1d33b1ac2d 100644
|
| --- a/test/webkit/cached-call-uninitialized-arguments.js
|
| +++ b/test/webkit/fast/js/string-fontcolor.js
|
| @@ -22,45 +22,32 @@
|
| // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| description(
|
| -"This test checks that uninitialized parameters for cached call functions correctly defaults to undefined."
|
| -
|
| +'This is a test case for String.prototype.fontcolor(color).'
|
| );
|
|
|
| -function doForEach(arr) {
|
| - function callback(element, index, array, arg4, arg5, arg6) {
|
| +// This test is based on http://mathias.html5.org/tests/javascript/string/.
|
| +
|
| +// Simple case.
|
| +shouldBe("'_'.fontcolor('b')", '"<font color=\\"b\\">_</font>"');
|
| +
|
| +// Does not escape special characters in `this` value.
|
| +shouldBe("'<'.fontcolor('b')", '"<font color=\\"b\\"><</font>"');
|
|
|
| - function shouldBeUndefined(_a) {
|
| - var exception;
|
| - var _av;
|
| - try {
|
| - _av = eval(_a);
|
| - } catch (e) {
|
| - exception = e;
|
| - }
|
| +// First argument gets ToString()ed.
|
| +shouldBe("'_'.fontcolor(0x2A)", '"<font color=\\"42\\">_</font>"');
|
|
|
| - if (exception)
|
| - testFailed(_a + " should be undefined. Threw exception " + exception);
|
| - else if (typeof _av == "undefined")
|
| - testPassed(_a + " is undefined.");
|
| - else
|
| - testFailed(_a + " should be undefined. Was " + _av);
|
| - }
|
| +// Check that the quotation mark is correctly escaped.
|
| +shouldBe("'_'.fontcolor('\"')", '"<font color=\\""\\">_</font>"');
|
| +shouldBe("'_'.fontcolor('\" size=\"2px')", '"<font color=\\"" size="2px\\">_</font>"');
|
|
|
| - shouldBeUndefined("arg4");
|
| - shouldBeUndefined("arg5");
|
| - shouldBeUndefined("arg6");
|
| - }
|
| +// Generic use on Number object.
|
| +shouldBe("String.prototype.fontcolor.call(0x2A, 0x2A)", '"<font color=\\"42\\">42</font>"');
|
|
|
| - arr.forEach(callback);
|
| -}
|
| +// Generic use on non-coercible object `undefined`.
|
| +shouldThrow("String.prototype.fontcolor.call(undefined)", '"TypeError: Type error"');
|
|
|
| -function callAfterRecursingForDepth(depth, func, arr) {
|
| - if (depth > 0) {
|
| - callAfterRecursingForDepth(depth - 1, func, arr);
|
| - } else {
|
| - func(arr);
|
| - }
|
| -}
|
| +// Generic use on non-coercible object `null`.
|
| +shouldThrow("String.prototype.fontcolor.call(null)", '"TypeError: Type error"');
|
|
|
| -var arr = [1];
|
| -callAfterRecursingForDepth(20, doForEach, arr);
|
| +// Check fontcolor.length.
|
| +shouldBe("String.prototype.fontcolor.length", "1");
|
|
|