aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/sites.php15
-rw-r--r--engine/tests/objects/sites.php75
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;
+ }
+}