Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
32898274
Commit
32898274
authored
Nov 20, 2008
by
Angie Byron
Browse files
#293514
by mikey_p: Add tests for menu_rebuild_needed.
parent
b47ecd8a
Changes
1
Hide whitespace changes
Inline
Side-by-side
modules/simpletest/tests/menu.test
View file @
32898274
...
...
@@ -7,9 +7,6 @@
*/
class
MenuIncTestCase
extends
DrupalWebTestCase
{
/**
* Implementation of getInfo().
*/
function
getInfo
()
{
return
array
(
'name'
=>
t
(
'Hook menu tests'
),
...
...
@@ -18,9 +15,6 @@ class MenuIncTestCase extends DrupalWebTestCase {
);
}
/**
* Implementation of setUp().
*/
function
setUp
()
{
// Enable dummy module that implements hook_menu.
parent
::
setUp
(
'hook_menu'
);
...
...
@@ -45,3 +39,41 @@ class MenuIncTestCase extends DrupalWebTestCase {
$this
->
assertEqual
(
$name
,
'changed'
,
t
(
'Menu name was successfully changed after rebuild.'
));
}
}
/**
* Tests rebuilding the menu by setting 'menu_rebuild_needed.'
*/
class
MenuRebuildTestCase
extends
DrupalWebTestCase
{
function
getInfo
()
{
return
array
(
'name'
=>
t
(
'Menu rebuild test'
),
'description'
=>
t
(
'Test rebuilding of menu.'
),
'group'
=>
t
(
'Menu'
),
);
}
/**
* Test if the 'menu_rebuild_needed' variable triggers a menu_rebuild() call.
*/
function
testMenuRebuildByVariable
()
{
// Check if 'admin' path exists.
$admin_exists
=
db_result
(
db_query
(
"SELECT path from
{
menu_router
}
WHERE path = 'admin'"
));
$this
->
assertEqual
(
$admin_exists
,
'admin'
,
t
(
"The path 'admin/' exists prior to deleting."
));
// Delete the path item 'admin', and test that the path doesn't exist in the database.
$delete
=
db_delete
(
'menu_router'
)
->
condition
(
'path'
,
'admin'
)
->
execute
();
$admin_exists
=
db_result
(
db_query
(
"SELECT path from
{
menu_router
}
WHERE path = 'admin'"
));
$this
->
assertFalse
(
$admin_exists
,
t
(
"The path 'admin/' has been deleted and doesn't exist in the database."
));
// Now we enable the rebuild variable and trigger menu_execute_active_handler()
// to rebuild the menu item. Now 'admin' should exist.
variable_set
(
'menu_rebuild_needed'
,
TRUE
);
// menu_execute_active_handler() should trigger the rebuild.
$this
->
drupalGet
(
'<front>'
);
$admin_exists
=
db_result
(
db_query
(
"SELECT path from
{
menu_router
}
WHERE path = 'admin'"
));
$this
->
assertEqual
(
$admin_exists
,
'admin'
,
t
(
"The menu has been rebuilt, the path 'admin' now exists again."
));
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment