Source

p5-json-path / t / 01basic.t

Diff from to

t/01basic.t

-use Test::More tests => 9;
+use Test::More tests => 10;
 BEGIN { use_ok('JSON::Path') };
 
-use Error qw[:try];
-
 use JSON;
 my $object = from_json(<<'JSON');
-{ "store": {
-    "book": [ 
-      { "category": "reference",
-        "author": "Nigel Rees",
-        "title": "Sayings of the Century",
-        "price": 8.95
-      },
-      { "category": "fiction",
-        "author": "Evelyn Waugh",
-        "title": "Sword of Honour",
-        "price": 12.99
-      },
-      { "category": "fiction",
-        "author": "Herman Melville",
-        "title": "Moby Dick",
-        "isbn": "0-553-21311-3",
-        "price": 8.99
-      },
-      { "category": "fiction",
-        "author": "J. R. R. Tolkien",
-        "title": "The Lord of the Rings",
-        "isbn": "0-395-19395-8",
-        "price": 22.99
-      }
-    ],
-    "bicycle": {
-      "color": "red",
-      "price": 19.95
-    }
-  }
+{
+	"store": {
+		"book": [
+			{
+				"category": "reference",
+				"author":   "Nigel Rees",
+				"title":    "Sayings of the Century",
+				"price":    8.95
+			},
+			{
+				"category": "fiction",
+				"author":   "Evelyn Waugh",
+				"title":    "Sword of Honour",
+				"price":    12.99
+			},
+			{
+				"category": "fiction",
+				"author":   "Herman Melville",
+				"title":    "Moby Dick",
+				"isbn":     "0-553-21311-3",
+				"price":    8.99
+			},
+			{
+				"category": "fiction",
+				"author":   "J. R. R. Tolkien",
+				"title":    "The Lord of the Rings",
+				"isbn":     "0-395-19395-8",
+				"price":    22.99
+			}
+		],
+		"bicycle": {
+			"color": "red",
+			"price": 19.95
+		}
+	}
 }
 JSON
 
 
 ok($JSON::Path::Safe, "safe by default");
 
-try {
+ok(!eval {
 	my $path3 = JSON::Path->new('$..book[?($_->{author} =~ /tolkien/i)]');
 	my $results3 = $path3->values($object);
-}
-catch Error::Simple with {
-	ok(1, "disallow dangerous eval");
-}
+	1;
+}, "eval disabled by default");
 
 $JSON::Path::Safe = 0;
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.