JavaScriptCore:
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Jan 2006 17:00:55 +0000 (17:00 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Jan 2006 17:00:55 +0000 (17:00 +0000)
        Reviewed by Geoff, landed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5308
          Number.toFixed doesn't include leading 0

        * kjs/number_object.cpp: (NumberProtoFunc::callAsFunction):
        Fixed a "<" that should have been a "<=".

LayoutTests:

        Reviewed by Geoff, reworked and landed by Darin.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=5308
          Number.toFixed doesn't include leading 0

        * fast/js/resources/number-tofixed.js: Added some test cases for toFixed(1).
        * fast/js/number-tofixed-expected.txt: Updated.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@12000 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/number_object.cpp
LayoutTests/ChangeLog
LayoutTests/fast/js/number-tofixed-expected.txt
LayoutTests/fast/js/resources/number-tofixed.js

index 2663424..72b0143 100644 (file)
@@ -2,6 +2,16 @@
 
         Reviewed by Geoff, landed by Darin.
 
+        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5308
+          Number.toFixed doesn't include leading 0
+
+        * kjs/number_object.cpp: (NumberProtoFunc::callAsFunction):
+        Fixed a "<" that should have been a "<=".
+
+2006-01-11  Ricci Adams  <ricciadams@apple.com>
+
+        Reviewed by Geoff, landed by Darin.
+
         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5307
           Number.toFixed doesn't round 0.5 up
 
index d6fa54c..961dfdd 100644 (file)
@@ -218,7 +218,7 @@ JSValue *NumberProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj, con
       UString m = integer_part_noexp(n);
       
       int k = m.size();
-      if (m.size() < f) {
+      if (k <= f) {
           UString z = "";
           for (int i = 0; i < f+1-k; i++)
               z += "0";
index fd184d8..d261efc 100644 (file)
@@ -2,6 +2,16 @@
 
         Reviewed by Geoff, reworked and landed by Darin.
 
+        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=5308
+          Number.toFixed doesn't include leading 0
+
+        * fast/js/resources/number-tofixed.js: Added some test cases for toFixed(1).
+        * fast/js/number-tofixed-expected.txt: Updated.
+
+2006-01-11  Ricci Adams  <ricciadams@apple.com>
+
+        Reviewed by Geoff, reworked and landed by Darin.
+
         - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=5307
           Number.toFixed doesn't round 0.5 up
 
index c7264a3..d5c254c 100644 (file)
@@ -1,15 +1,30 @@
-This test checks a few Number.toFixed cases, including 5307: Number.toFixed does not round 0.5 up.
+This test checks a few Number.toFixed cases, including 5307: Number.toFixed does not round 0.5 up and 5308: Number.toFixed does not include leading zero.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
 PASS (0).toFixed(0) is '0'
-PASS 0.49.toFixed(0) is '0'
-PASS 0.5.toFixed(0) is '1'
-PASS 0.51.toFixed(0) is '1'
+PASS (0.49).toFixed(0) is '0'
+PASS (0.5).toFixed(0) is '1'
+PASS (0.51).toFixed(0) is '1'
 PASS (-0.49).toFixed(0) is '-0'
 PASS (-0.5).toFixed(0) is '-1'
 PASS (-0.51).toFixed(0) is '-1'
+PASS (0).toFixed(1) is '0.0'
+PASS (0.449).toFixed(1) is '0.4'
+PASS (0.45).toFixed(1) is '0.5'
+PASS (0.451).toFixed(1) is '0.5'
+PASS (0.5).toFixed(1) is '0.5'
+PASS (0.549).toFixed(1) is '0.5'
+PASS (0.55).toFixed(1) is '0.6'
+PASS (0.551).toFixed(1) is '0.6'
+PASS (-0.449).toFixed(1) is '-0.4'
+PASS (-0.45).toFixed(1) is '-0.5'
+PASS (-0.451).toFixed(1) is '-0.5'
+PASS (-0.5).toFixed(1) is '-0.5'
+PASS (-0.549).toFixed(1) is '-0.5'
+PASS (-0.55).toFixed(1) is '-0.6'
+PASS (-0.551).toFixed(1) is '-0.6'
 PASS successfullyParsed is true
 
 TEST COMPLETE
index d87a375..20c7fa0 100644 (file)
@@ -1,13 +1,36 @@
-description('This test checks a few Number.toFixed cases, including <a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=5307">5307: Number.toFixed does not round 0.5 up</a>.');
+description(
+    'This test checks a few Number.toFixed cases, including ' +
+    '<a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=5307">5307: Number.toFixed does not round 0.5 up</a>' +
+    ' and ' +
+    '<a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=5308">5308: Number.toFixed does not include leading zero</a>' +
+    '.');
 
 shouldBe("(0).toFixed(0)", "'0'");
 
-shouldBe("0.49.toFixed(0)", "'0'");
-shouldBe("0.5.toFixed(0)", "'1'");
-shouldBe("0.51.toFixed(0)", "'1'");
+shouldBe("(0.49).toFixed(0)", "'0'");
+shouldBe("(0.5).toFixed(0)", "'1'");
+shouldBe("(0.51).toFixed(0)", "'1'");
 
 shouldBe("(-0.49).toFixed(0)", "'-0'");
 shouldBe("(-0.5).toFixed(0)", "'-1'");
 shouldBe("(-0.51).toFixed(0)", "'-1'");
 
+shouldBe("(0).toFixed(1)", "'0.0'");
+
+shouldBe("(0.449).toFixed(1)", "'0.4'");
+shouldBe("(0.45).toFixed(1)", "'0.5'");
+shouldBe("(0.451).toFixed(1)", "'0.5'");
+shouldBe("(0.5).toFixed(1)", "'0.5'");
+shouldBe("(0.549).toFixed(1)", "'0.5'");
+shouldBe("(0.55).toFixed(1)", "'0.6'");
+shouldBe("(0.551).toFixed(1)", "'0.6'");
+
+shouldBe("(-0.449).toFixed(1)", "'-0.4'");
+shouldBe("(-0.45).toFixed(1)", "'-0.5'");
+shouldBe("(-0.451).toFixed(1)", "'-0.5'");
+shouldBe("(-0.5).toFixed(1)", "'-0.5'");
+shouldBe("(-0.549).toFixed(1)", "'-0.5'");
+shouldBe("(-0.55).toFixed(1)", "'-0.6'");
+shouldBe("(-0.551).toFixed(1)", "'-0.6'");
+
 var successfullyParsed = true;