. */ namespace Balping\JsonRaw\Tests; use Balping\JsonRaw\Raw; use Balping\JsonRaw\Replacer; use PHPUnit\Framework\TestCase; class ReplacerTest extends TestCase { /** @test */ public function callbacks_can_be_passed(){ $jsObjects = []; $array = [ "a" => "string", "b" => 42, "callback" => $jsObjects[] = new Raw(<<<'JS' function(a){ console.log(a); } JS ) ]; // imagine this being a vendor function in library $json = json_encode($array); $json = Replacer::replace($json, $jsObjects); $this->assertEquals(<<<'JSON' {"a":"string","b":42,"callback":function(a){ console.log(a); }} JSON , $json); } }