logger->getLevel(); _elgg_services()->logger->setLevel(\Elgg\Logger::OFF); $name = ''; for ($i = 1; $i <= 256; $i++) { $name .= 'a'; } $this->assertFalse(set_config($name, 'foo')); _elgg_services()->logger->setLevel($old_log_level); } public function testSetConfigWithNewName() { global $CONFIG; $name = 'foo' . rand(0, 1000); $value = 'test'; $this->assertTrue(set_config($name, $value, 22)); $this->assertTrue(!isset($CONFIG->$name)); $this->assertEqual($value, get_config($name, 22)); $this->assertTrue(unset_config($name, 22)); } public function testSetConfigWithUsedName() { $name = 'foo' . rand(0, 1000); $value = 'test'; $this->assertTrue(set_config($name, 'not test', 22)); $this->assertTrue(set_config($name, $value, 22)); $this->assertEqual($value, get_config($name, 22)); $this->assertTrue(unset_config($name, 22)); } public function testSetConfigWithObject() { $name = 'foo' . rand(0, 1000); $value = new \stdClass(); $value->test = true; $this->assertTrue(set_config($name, $value, 22)); $this->assertIdentical($value, get_config($name, 22)); $this->assertTrue(unset_config($name, 22)); } public function testSetConfigWithNonexistentName() { $name = 'foo' . rand(0, 1000); $this->assertIdentical(null, get_config($name, 22)); } public function testSetConfigWithCurrentSite() { global $CONFIG; $name = 'foo' . rand(0, 1000); $value = 99; $this->assertTrue(set_config($name, $value)); $this->assertIdentical($value, $CONFIG->$name); $this->assertIdentical($value, get_config($name, elgg_get_site_entity()->guid)); $this->assertTrue(unset_config($name)); } public function testGetConfigAlreadyLoadedForCurrentSite() { global $CONFIG; $CONFIG->foo_unit_test = 35; $this->assertIdentical(35, get_config('foo_unit_test')); unset($CONFIG->foo_unit_test); } public function testGetConfigAlreadyLoadedForNotCurrentSite() { global $CONFIG; $CONFIG->foo_unit_test = 35; $this->assertIdentical(null, get_config('foo_unit_test', 34)); unset($CONFIG->foo_unit_test); } public function testUnsetConfigWithNonexistentName() { $this->assertTrue(unset_config('does_not_exist')); } public function testUnsetConfigOnNotCurrentSite() { global $CONFIG; $CONFIG->foo_unit_test = 35; $this->assertIdentical(true, unset_config('foo_unit_test', 99)); $this->assertIdentical(35, $CONFIG->foo_unit_test); unset($CONFIG->foo_unit_test); } public function testUnsetConfigClearsGlobalForCurrentSite() { global $CONFIG; $CONFIG->foo_unit_test = 35; $this->assertIdentical(true, unset_config('foo_unit_test')); $this->assertTrue(!isset($CONFIG->foo_unit_test)); } public function testDatalistSetWithTooLongName() { // prevent the error message from being logged $old_log_level = _elgg_services()->logger->getLevel(); _elgg_services()->logger->setLevel(\Elgg\Logger::OFF); $name = ''; for ($i = 1; $i <= 256; $i++) { $name .= 'a'; } $this->assertFalse(datalist_set($name, 'foo')); _elgg_services()->logger->setLevel($old_log_level); } public function testDatalistSetNewName() { global $CONFIG; $name = 'foo' . rand(0, 1000); $value = 'test'; $this->assertTrue(datalist_set($name, $value)); $this->assertEqual($value, datalist_get($name)); delete_data("DELETE FROM {$CONFIG->dbprefix}datalists WHERE name = '$name'"); } public function testDatalistSetWithUsedName() { global $CONFIG; $name = 'foo' . rand(0, 1000); $value = 'test'; $this->assertTrue(datalist_set($name, 'not test')); $this->assertTrue(datalist_set($name, $value)); $this->assertEqual($value, datalist_get($name)); delete_data("DELETE FROM {$CONFIG->dbprefix}datalists WHERE name = '$name'"); } public function testDatalistGetNonExistentName() { $this->assertIdentical(null, datalist_get('imaginary value')); } public function testElggSaveConfigWithArrayForDatalist() { $this->assertFalse(elgg_save_config('testing', array('1'), null)); } public function testElggSaveConfigForDatalist() { global $CONFIG; $name = 'foo' . rand(0, 1000); $value = 'test'; $this->assertTrue(elgg_save_config($name, $value, null)); $this->assertIdentical($value, datalist_get($name)); $this->assertIdentical($value, $CONFIG->$name); delete_data("DELETE FROM {$CONFIG->dbprefix}datalists WHERE name = '$name'"); unset($CONFIG->$name); } public function testElggSaveConfigForCurrentSiteConfig() { global $CONFIG; $name = 'foo' . rand(0, 1000); $value = 'test'; $this->assertTrue(elgg_save_config($name, $value)); $this->assertIdentical($value, get_config($name)); $this->assertIdentical($value, $CONFIG->$name); $this->assertTrue(unset_config($name)); } public function testElggSaveConfigForNonCurrentSiteConfig() { global $CONFIG; $name = 'foo' . rand(0, 1000); $value = 'test'; $this->assertTrue(elgg_save_config($name, $value, 17)); $this->assertIdentical($value, get_config($name, 17)); $this->assertTrue(!isset($CONFIG->$name)); $this->assertTrue(unset_config($name, 17)); } public function testElggGetConfigNonCurrentSiteConfig() { $name = 'foo' . rand(0, 1000); $value = 'test'; $this->assertTrue(elgg_save_config($name, $value, 17)); $this->assertIdentical($value, elgg_get_config($name, 17)); $this->assertTrue(unset_config($name, 17)); } }