| 159 | |
| 160 | /** |
| 161 | * @ticket 26900 |
| 162 | */ |
| 163 | function test_supports_menus() { |
| 164 | // Start fresh |
| 165 | _remove_theme_support( 'menus' ); |
| 166 | $this->assertFalse( current_theme_supports( 'menus' ) ); |
| 167 | |
| 168 | // Registering a nav menu automatically adds support. |
| 169 | register_nav_menu( 'primary', 'Primary Navigation' ); |
| 170 | register_nav_menu( 'secondary', 'Secondary Navigation' ); |
| 171 | $this->assertTrue( current_theme_supports( 'menus' ) ); |
| 172 | |
| 173 | // Support added internally, can't be removed. |
| 174 | remove_theme_support( 'menus' ); |
| 175 | $this->assertTrue( current_theme_supports( 'menus' ) ); |
| 176 | |
| 177 | // Still supports because of secondary. |
| 178 | unregister_nav_menu( 'primary' ); |
| 179 | $this->assertTrue( current_theme_supports( 'menus' ) ); |
| 180 | |
| 181 | // No longer support because we have no menus. |
| 182 | unregister_nav_menu( 'secondary' ); |
| 183 | $this->assertEmpty( get_registered_nav_menus() ); |
| 184 | $this->assertFalse( current_theme_supports( 'menus' ) ); |
| 185 | } |