/** * Test rendering the metabox. * * @see Post_Type::render_data_metabox() */ public function test_render_data_metabox() { $post_type = new Post_Type($this->plugin->customize_snapshot_manager); $post_type->register(); $data = array('knoa8sdhpasidg0apbdpahcas' => array('value' => 'a09sad0as9hdgw22dutacs'), 'n0nee8fa9s7ap9sdga9sdas9c' => array('value' => 'lasdbaosd81vvajgcaf22k')); $post_id = $post_type->save(array('uuid' => self::UUID, 'data' => $data, 'status' => 'draft')); ob_start(); $post_type->render_data_metabox(get_post($post_id)); $metabox_content = ob_get_clean(); $this->assertContains('UUID:', $metabox_content); $this->assertContains('button-secondary', $metabox_content); $this->assertContains('<ul id="snapshot-settings">', $metabox_content); foreach ($data as $setting_id => $setting_args) { $this->assertContains($setting_id, $metabox_content); $this->assertContains($setting_args['value'], $metabox_content); } $data = array('blogdescription' => array('value' => 'Just Another Customize Snapshot Test')); $post_type->save(array('uuid' => self::UUID, 'data' => $data, 'status' => 'publish')); add_filter('customize_snapshot_value_preview', array($this, 'filter_customize_snapshot_value_preview'), 10, 2); ob_start(); $post_type->render_data_metabox(get_post($post_id)); $metabox_content = ob_get_clean(); remove_filter('customize_snapshot_value_preview', array($this, 'filter_customize_snapshot_value_preview'), 10); $this->assertContains('UUID:', $metabox_content); $this->assertNotContains('button-secondary', $metabox_content); $this->assertContains('<ul id="snapshot-settings">', $metabox_content); foreach ($data as $setting_id => $setting_args) { $this->assertContains($setting_id, $metabox_content); $this->assertContains('FILTERED:' . $setting_id, $metabox_content); } // Try switching theme. $post_id = $post_type->save(array('uuid' => self::UUID, 'data' => $data, 'status' => 'draft', 'theme' => 'bogus')); ob_start(); $post_type->render_data_metabox(get_post($post_id)); $metabox_content = ob_get_clean(); $this->assertContains('snapshot was made when a different theme was active', $metabox_content); }