/** * Test js_value and json methods. * * @see WP_Customize_Setting::js_value() * @see WP_Customize_Setting::json() */ public function test_js_value() { $default = ""; $args = array('type' => 'binary', 'default' => $default, 'transport' => 'postMessage', 'dirty' => true, 'sanitize_js_callback' => create_function('$value', 'return base64_encode( $value );')); $setting = new WP_Customize_Setting($this->manager, 'name', $args); $this->assertEquals($default, $setting->value()); $this->assertEquals(base64_encode($default), $setting->js_value()); $exported = $setting->json(); $this->assertArrayHasKey('type', $exported); $this->assertArrayHasKey('value', $exported); $this->assertArrayHasKey('transport', $exported); $this->assertArrayHasKey('dirty', $exported); $this->assertEquals($setting->js_value(), $exported['value']); $this->assertEquals($args['type'], $setting->type); $this->assertEquals($args['transport'], $setting->transport); $this->assertEquals($args['dirty'], $setting->dirty); }