diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/lib/sites.php | 15 | ||||
-rw-r--r-- | engine/tests/objects/sites.php | 75 |
2 files changed, 85 insertions, 5 deletions
diff --git a/engine/lib/sites.php b/engine/lib/sites.php index 14cc2039d..e12a745c5 100644 --- a/engine/lib/sites.php +++ b/engine/lib/sites.php @@ -139,7 +139,7 @@ if ($CONFIG->site->getGUID() == $this->guid) throw new SecurityException('SecurityException:deletedisablecurrentsite'); - return parent::delete; + return parent::delete(); } /** @@ -603,7 +603,12 @@ } // Register event handlers - - register_elgg_event_handler('boot','system','sites_init',2); - -?>
\ No newline at end of file + register_elgg_event_handler('boot','system','sites_init',2); + + // Register with unit test + register_plugin_hook('unit_test', 'system', 'sites_test'); + function sites_test($hook, $type, $value, $params) { + global $CONFIG; + $value[] = "{$CONFIG->path}engine/tests/objects/sites.php"; + return $value; + } diff --git a/engine/tests/objects/sites.php b/engine/tests/objects/sites.php new file mode 100644 index 000000000..696ae3da1 --- /dev/null +++ b/engine/tests/objects/sites.php @@ -0,0 +1,75 @@ +<?php +/** + * Elgg Test ElggSite + * + * @package Elgg + * @subpackage Test + * @author Curverider Ltd + * @link http://elgg.org/ + */ +class ElggCoreSiteTest extends ElggCoreUnitTest { + + /** + * Called before each test object. + */ + public function __construct() { + parent::__construct(); + } + + /** + * Called before each test method. + */ + public function setUp() { + $this->site = new ElggSiteTest; + } + + /** + * Called after each test method. + */ + public function tearDown() { + $this->swallowErrors(); + unset($this->site); + } + + /** + * Called after each test object. + */ + public function __destruct() { + parent::__destruct(); + } + + /** + * A basic test that will be called and fail. + */ + public function testElggSiteConstructor() { + $attributes = array(); + $attributes['guid'] = ''; + $attributes['type'] = 'site'; + $attributes['subtype'] = ''; + $attributes['owner_guid'] = get_loggedin_userid(); + $attributes['container_guid'] = get_loggedin_userid(); + $attributes['site_guid'] = 0; + $attributes['access_id'] = ACCESS_PRIVATE; + $attributes['time_created'] = ''; + $attributes['time_updated'] = ''; + $attributes['enabled'] = 'yes'; + $attributes['tables_split'] = 2; + $attributes['tables_loaded'] = 0; + $attributes['name'] = ''; + $attributes['description'] = ''; + $attributes['url'] = ''; + + $this->assertIdentical($this->site->expose_attributes(), $attributes); + } + + public function testElggSiteSaveAndDelete() { + $this->assertTrue($this->site->save()); + $this->assertTrue($this->site->delete()); + } +} + +class ElggSiteTest extends ElggSite { + public function expose_attributes() { + return $this->attributes; + } +} |