]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixed caching issue that caused metadata test for get_entities_from_metadata() to...
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 27 Oct 2009 16:56:12 +0000 (16:56 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 27 Oct 2009 16:56:12 +0000 (16:56 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@3588 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/tests/objects/metadata.php

index eb635db4a04b6f63965ea82d7107c68c241c604f..cf39a186b9ef79486bae296df545d8a562bbb32b 100644 (file)
@@ -24,19 +24,19 @@ class ElggCoreMetadataTest extends ElggCoreUnitTest {
        public function tearDown() {
                // do not allow SimpleTest to interpret Elgg notices as exceptions
                $this->swallowErrors();
-               
+
                unset($this->object);
        }
 
        public function testGetMetastringById() {
                foreach (array('metaUnitTest', 'metaunittest', 'METAUNITTEST') as $string) {
-                        $this->create_metastring($string);
+                       $this->create_metastring($string);
                }
-               
+
                // lookup metastring id
                $cs_ids = get_metastring_id('metaUnitTest', TRUE);
                $this->assertEqual($cs_ids, $this->metastrings['metaUnitTest']);
-               
+
                // lookup all metastrings, ignoring case
                $cs_ids = get_metastring_id('metaUnitTest', FALSE);
                $this->assertEqual(count($cs_ids), 3);
@@ -45,47 +45,55 @@ class ElggCoreMetadataTest extends ElggCoreUnitTest {
                {
                        $this->assertTrue(in_array($string, $this->metastrings));
                }
-               
+
                // clean up
                $this->delete_metastrings();
        }
-       
+
        public function testGetEntitiesFromMetadata() {
+               global $CONFIG, $METASTRINGS_CACHE, $METASTRINGS_DEADNAME_CACHE;
+               $METASTRINGS_CACHE = $METASTRINGS_DEADNAME_CACHE = array();
+
                $this->object->title = 'Meta Unit Test';
                $this->object->save();
                $this->create_metastring('metaUnitTest');
                $this->create_metastring('tested');
+
                $this->assertTrue(create_metadata($this->object->guid, 'metaUnitTest', 'tested'));
-               
+
                // check value with improper case
                $this->assertFalse(get_entities_from_metadata('metaUnitTest', 'Tested', '', '', 0, 10, 0, '', 0, FALSE, TRUE));
-               
+
                // compare forced case with ignored case
                $case_true = get_entities_from_metadata('metaUnitTest', 'tested', '', '', 0, 10, 0, '', 0, FALSE, TRUE);
-               $case_false = get_entities_from_metadata('metaUnitTest', 'Tested', '', '', 0, 10, 0, '', 0, FALSE, FALSE);
                $this->assertIsA($case_true, 'array');
+
+               $case_false = get_entities_from_metadata('metaUnitTest', 'Tested', '', '', 0, 10, 0, '', 0, FALSE, FALSE);
                $this->assertIsA($case_false, 'array');
+
                $this->assertIdentical($case_true, $case_false);
-               
+
                // check entity list
                //$this->dump(list_entities_from_metadata('metaUnitTest', 'Tested', '', '', 0, 10, TRUE, TRUE, TRUE, FALSE));
-               
+
                // clean up
                $this->delete_metastrings();
                $this->object->delete();
        }
-       
-       
+
+
        protected function create_metastring($string) {
-               global $CONFIG;
-               
+               global $CONFIG, $METASTRINGS_CACHE, $METASTRINGS_DEADNAME_CACHE;
+               $METASTRINGS_CACHE = $METASTRINGS_DEADNAME_CACHE = array();
+
                mysql_query("INSERT INTO {$CONFIG->dbprefix}metastrings (string) VALUES ('$string')");
                $this->metastrings[$string] = mysql_insert_id();
        }
-       
+
        protected function delete_metastrings() {
-               global $CONFIG;
-               
+               global $CONFIG, $METASTRINGS_CACHE, $METASTRINGS_DEADNAME_CACHE;
+               $METASTRINGS_CACHE = $METASTRINGS_DEADNAME_CACHE = array();
+
                $strings = implode(', ', $this->metastrings);
                mysql_query("DELETE FROM {$CONFIG->dbprefix}metastrings WHERE id IN ($strings)");
        }