aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDave Methvin <dave.methvin@gmail.com>2011-11-07 11:25:51 -0500
committerDave Methvin <dave.methvin@gmail.com>2011-11-07 11:25:51 -0500
commit795583d2936a48c6f0048e28f74c5fc71e3a60b0 (patch)
treeb5977e85c3695184066027e6bff2da3c6d7a8006 /test
parent13aa84580a837b811dbe2f5d1bc34cf9ca9a6d8d (diff)
downloadjquery-795583d2936a48c6f0048e28f74c5fc71e3a60b0.tar.gz
jquery-795583d2936a48c6f0048e28f74c5fc71e3a60b0.zip
Fix #10690. Make sure `.isNumeric()` can't get a `Date`.
Also add tests for custom objects with a `.toString()` method.
Diffstat (limited to 'test')
-rw-r--r--test/unit/core.js18
1 files changed, 15 insertions, 3 deletions
diff --git a/test/unit/core.js b/test/unit/core.js
index 252f08d57..dc909546b 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -455,9 +455,17 @@ test("isFunction", function() {
});
test( "isNumeric", function() {
- expect( 33 );
-
- var t = jQuery.isNumeric;
+ expect( 37 );
+
+ var t = jQuery.isNumeric,
+ Traditionalists = function(n) {
+ this.value = n;
+ this.toString = function(){
+ return String(this.value);
+ };
+ },
+ answer = new Traditionalists( "42" ),
+ rong = new Traditionalists( "Devo" );
ok( t("-10"), "Negative integer string");
ok( t("0"), "Zero string");
@@ -475,6 +483,7 @@ test( "isNumeric", function() {
ok( t(3.1415), "Positive floating point number");
ok( t(8e5), "Exponential notation");
ok( t("123e-2"), "Exponential notation string");
+ ok( t(answer), "Custom .toString returning number");
equal( t(""), false, "Empty string");
equal( t(" "), false, "Whitespace characters string");
equal( t("\t\t"), false, "Tab characters string");
@@ -490,8 +499,11 @@ test( "isNumeric", function() {
equal( t(Infinity), false, "Infinity primitive");
equal( t(Number.POSITIVE_INFINITY), false, "Positive Infinity");
equal( t(Number.NEGATIVE_INFINITY), false, "Negative Infinity");
+ equal( t(rong), false, "Custom .toString returning non-number");
equal( t({}), false, "Empty object");
equal( t(function(){} ), false, "Instance of a function");
+ equal( t( new Date ), false, "Instance of a Date");
+ equal( t(function(){} ), false, "Instance of a function");
});
test("isXMLDoc - HTML", function() {