]> source.dussan.org Git - jquery.git/commitdiff
Followup for #12751, only test on browsers with JSON.parse
authorDave Methvin <dave.methvin@gmail.com>
Fri, 19 Oct 2012 21:18:33 +0000 (17:18 -0400)
committerDave Methvin <dave.methvin@gmail.com>
Fri, 19 Oct 2012 21:18:33 +0000 (17:18 -0400)
test/unit/core.js

index 85d394e9864d93b40ac1385f010fbbe423cc3ceb..6738fbeb9f24ed536c04df05684bd682709d2cfe 100644 (file)
@@ -1351,49 +1351,52 @@ test("jQuery.camelCase()", function() {
        });
 });
 
-test( "JQuery.parseJSON() test internal parseJson (using fallback) to make sure that it throws like JSON.parse", function() {
-       expect( 10 );
+// Ensure our window.JSON matches behavior of the native one, if it exists
+if ( window.JSON ) {
+       test( "JQuery.parseJSON() equivalence to JSON.parse", function() {
+               expect( 10 );
 
-       var jsonParse = window.JSON;
-       window.JSON = null;
+               var jsonParse = window.JSON;
+               window.JSON = null;
 
-       raises(function() {
-               jsonParse.parse("''");
-       });
+               raises(function() {
+                       jsonParse.parse("''");
+               });
 
-       raises(function() {
-               jQuery.parseJSON("''");
-       });
+               raises(function() {
+                       jQuery.parseJSON("''");
+               });
 
-       raises(function() {
-               jsonParse.parse("");
-       });
+               raises(function() {
+                       jsonParse.parse("");
+               });
 
-       raises(function() {
-               jQuery.parseJSON("");
-       });
+               raises(function() {
+                       jQuery.parseJSON("");
+               });
 
-       raises(function() {
-               jsonParse.parse({});
-       });
+               raises(function() {
+                       jsonParse.parse({});
+               });
 
-       raises(function() {
-               jQuery.parseJSON({});
-       });
+               raises(function() {
+                       jQuery.parseJSON({});
+               });
 
-       var parsedValue = jsonParse.parse(null);
-       equal( parsedValue, null );
+               var parsedValue = jsonParse.parse(null);
+               equal( parsedValue, null, "parsed null" );
 
-       parsedValue = jQuery.parseJSON(null);
-       equal( parsedValue, null );
+               parsedValue = jQuery.parseJSON(null);
+               equal( parsedValue, null, "parsed null" );
 
-       parsedValue = jsonParse.parse("{}");
-       equal( (typeof parsedValue === "object"), true );
+               parsedValue = jsonParse.parse("{}");
+               equal( (typeof parsedValue === "object"), true );
 
-       parsedValue = jQuery.parseJSON("{}");
-       equal( (typeof parsedValue === "object"), true );
-       
+               parsedValue = jQuery.parseJSON("{}");
+               equal( (typeof parsedValue === "object"), true );
+               
 
-       window.JSON = jsonParse;
-} );
+               window.JSON = jsonParse;
+       });
+}