From a832148574434476c571478f7d72e2a21c978ea6 Mon Sep 17 00:00:00 2001 From: Richard K Miller Date: Wed, 4 Feb 2015 15:41:34 -0700 Subject: [PATCH 1/2] Handle values of the type stdClass, which plays nicely with json_encode --- .../JavaScript/PHPToJavaScriptTransformer.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Laracasts/Utilities/JavaScript/PHPToJavaScriptTransformer.php b/src/Laracasts/Utilities/JavaScript/PHPToJavaScriptTransformer.php index e31867f..9cc13a4 100644 --- a/src/Laracasts/Utilities/JavaScript/PHPToJavaScriptTransformer.php +++ b/src/Laracasts/Utilities/JavaScript/PHPToJavaScriptTransformer.php @@ -1,6 +1,7 @@ Date: Wed, 4 Feb 2015 17:02:05 -0700 Subject: [PATCH 2/2] update spec to allow transformation of stdClass but not other arbitrary objects --- .../JavaScript/PHPToJavaScriptTransformerSpec.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/spec/Laracasts/Utilities/JavaScript/PHPToJavaScriptTransformerSpec.php b/spec/Laracasts/Utilities/JavaScript/PHPToJavaScriptTransformerSpec.php index b41eae1..6bb1a29 100644 --- a/spec/Laracasts/Utilities/JavaScript/PHPToJavaScriptTransformerSpec.php +++ b/spec/Laracasts/Utilities/JavaScript/PHPToJavaScriptTransformerSpec.php @@ -56,9 +56,16 @@ function it_transforms_null_values() ->shouldMatch('/window.age = null;window.sum = null;/'); } - function it_throws_an_exception_if_an_object_cant_be_transformed(\StdClass $obj) + function it_throws_an_exception_if_an_object_cant_be_transformed(\Laracasts\Utilities\JavaScript\PHPToJavaScriptTransformer $obj) { $this->shouldThrow('Exception') ->duringBuildJavaScriptSyntax(['foo' => $obj]); } + + function it_does_not_throw_an_exception_for_stdClass(\StdClass $obj) + { + $this->buildJavaScriptSyntax(['foo' => $obj]) + ->shouldMatch('/window.window = window.window || {};/'); + } + }