/** * @ticket 21749 */ function test_wp_theme_uris_with_spaces() { $theme = new WP_Theme('theme with spaces', $this->theme_root . '/subdir'); // Make sure subdir/ is considered part of the stylesheet, as we must avoid encoding /'s. $this->assertEquals('subdir/theme with spaces', $theme->get_stylesheet()); // Check that in a URI path, we have raw url encoding (spaces become %20) // Don't try to verify the complete URI path. get_theme_root_uri() breaks down quickly. $this->assertEquals('theme%20with%20spaces', basename($theme->get_stylesheet_directory_uri())); $this->assertEquals('theme%20with%20spaces', basename($theme->get_template_directory_uri())); // Check that wp_customize_url() uses url encoding, as it is a query arg (spaces become +) $this->assertEquals(admin_url('customize.php?theme=theme+with+spaces'), wp_customize_url('theme with spaces')); }