Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
project
drupal
Commits
9bc36524
Commit
9bc36524
authored
Sep 24, 2008
by
webchick
Browse files
#244662
by solotandem and catch: Fix taxonomy_vocabulary_load() when called multiple times.
parent
06d0d8c2
Changes
2
Hide whitespace changes
Inline
Side-by-side
modules/taxonomy/taxonomy.module
View file @
9bc36524
...
...
@@ -994,7 +994,7 @@ function taxonomy_get_term_by_name($name) {
function
taxonomy_vocabulary_load
(
$vid
)
{
static
$vocabularies
=
array
();
if
(
!
isset
(
$vocabularies
[
$vid
]))
{
if
(
empty
(
$vocabularies
[
$vid
]))
{
// Initialize so if this vocabulary does not exist, we have
// that cached, and we will not try to load this later.
$vocabularies
[
$vid
]
=
FALSE
;
...
...
modules/taxonomy/taxonomy.test
View file @
9bc36524
<?php
// $Id$
class
TaxonomyVocabularyLoadTestCase
extends
DrupalWebTestCase
{
/**
* Implementation of getInfo().
*/
function
getInfo
()
{
return
array
(
'name'
=>
t
(
'Loading taxonomy vocabularies'
),
'description'
=>
t
(
'Test loading vocabularies under various conditions.'
),
'group'
=>
t
(
'Taxonomy'
),
);
}
/**
* Implementation of setUp() {
*/
function
setUp
()
{
parent
::
setUp
(
'taxonomy'
);
$admin_user
=
$this
->
drupalCreateUser
(
array
(
'administer taxonomy'
));
$this
->
drupalLogin
(
$admin_user
);
}
/**
* Ensure that when an invalid vocabulary vid is loaded, it is possible
* to load the same vid successfully if it subsequently becomes valid.
*/
function
testTaxonomyVocabularyLoadReturnFalse
()
{
// Load a vocabulary that doesn't exist.
$vocabularies
=
taxonomy_get_vocabularies
();
$vid
=
count
(
$vocabularies
)
+
1
;
$vocabulary
=
taxonomy_vocabulary_load
(
$vid
);
// This should not return an object because no such vocabulary exists.
$this
->
assertTrue
(
!
is_object
(
$vocabulary
),
t
(
'No object loaded.'
));
// Create a new vocabulary.
$edit
=
array
(
'name'
=>
$this
->
randomName
(),
'description'
=>
$this
->
randomName
(),
'help'
=>
''
,
'weight'
=>
0
,
);
$this
->
drupalPost
(
'admin/content/taxonomy/add/vocabulary'
,
$edit
,
t
(
'Save'
));
// Load the vocabulary with the same $vid from earlier.
// This should return a vocabulary object since it now matches a real vid.
$vocabulary
=
taxonomy_vocabulary_load
(
$vid
);
$this
->
assertTrue
(
is_object
(
$vocabulary
),
t
(
'Vocabulary is an object'
));
$this
->
assertTrue
(
$vocabulary
->
vid
==
$vid
,
t
(
'Valid vocabulary vid is the same as our previously invalid one.'
));
}
}
class
TaxonomyVocabularyFunctionsTestCase
extends
DrupalWebTestCase
{
/**
* Implementation of getInfo().
...
...
@@ -8,11 +58,18 @@ class TaxonomyVocabularyFunctionsTestCase extends DrupalWebTestCase {
function
getInfo
()
{
return
array
(
'name'
=>
t
(
'Vocabulary functions'
),
'description'
=>
t
(
'
Create/Edit/D
elet
e
vocabular
y and assert that all fields were properly saved
.'
),
'description'
=>
t
(
'
Test loading, saving, and d
elet
ing
vocabular
ies
.'
),
'group'
=>
t
(
'Taxonomy'
)
);
}
/**
* Implementation of setUp().
*/
function
setUp
()
{
parent
::
setUp
(
'taxonomy'
);
}
/**
* Create/Edit/Delete vocabulary and assert that all fields were properly saved.
*/
...
...
@@ -81,7 +138,6 @@ class TaxonomyVocabularyFunctionsTestCase extends DrupalWebTestCase {
}
}
class
TaxonomyTermFunctionsTestCase
extends
DrupalWebTestCase
{
/**
* Implementation of getInfo().
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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