| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 | 
							- <?php
 
- /**
 
-  * Test configuration for site and application (datalist)
 
-  */
 
- class ElggCoreConfigTest extends \ElggCoreUnitTest {
 
- 	public function testSetConfigWithTooLongName() {
 
- 		// 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(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));		
 
- 	} 
 
- }
 
 
  |