From 28b41056e3ea962dce1ad017a3c0a60252195e7a Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Wed, 27 May 2009 15:07:27 -0700 Subject: Restructure things so that the application is now just another module. Kohana makes this type of transition fairly straightforward in that all controllers/helpers/etc are still located in the cascading filesystem without any extra effort, except that I've temporarily added a hack to force modules/gallery into the module path. Rename what's left of "core" to be "application" so that it conforms more closely to the Kohana standard (basically, just application/config/config.php which is the minimal thing that you need in the application directory) There's still considerable work left to be done here. --- core/tests/Access_Helper_Test.php | 323 ---------------------------------- core/tests/Album_Helper_Test.php | 87 --------- core/tests/Albums_Controller_Test.php | 76 -------- core/tests/Core_Installer_Test.php | 50 ------ core/tests/Database_Test.php | 134 -------------- core/tests/Dir_Helper_Test.php | 32 ---- core/tests/DrawForm_Test.php | 84 --------- core/tests/File_Structure_Test.php | 235 ------------------------- core/tests/I18n_Test.php | 108 ------------ core/tests/Item_Model_Test.php | 143 --------------- core/tests/Menu_Test.php | 32 ---- core/tests/Movie_Helper_Test.php | 46 ----- core/tests/ORM_MPTT_Test.php | 221 ----------------------- core/tests/Photo_Helper_Test.php | 109 ------------ core/tests/Photos_Controller_Test.php | 74 -------- core/tests/REST_Controller_Test.php | 197 --------------------- core/tests/REST_Helper_Test.php | 45 ----- core/tests/Sendmail_Test.php | 115 ------------ core/tests/Var_Test.php | 49 ------ core/tests/images/DSC_0003.jpg | Bin 735609 -> 0 bytes core/tests/images/DSC_0005.jpg | Bin 687555 -> 0 bytes core/tests/images/DSC_0017.jpg | Bin 1246655 -> 0 bytes core/tests/images/DSC_0019.jpg | Bin 649556 -> 0 bytes core/tests/images/DSC_0067.jpg | Bin 1245526 -> 0 bytes core/tests/images/DSC_0072.jpg | Bin 1014511 -> 0 bytes core/tests/images/P4050088.jpg | Bin 1774906 -> 0 bytes core/tests/selenium/Add_Album.html | 52 ------ core/tests/selenium/Add_Comment.html | 52 ------ core/tests/selenium/Add_Item.html | 62 ------- core/tests/selenium/Login.html | 47 ----- core/tests/test.jpg | Bin 6232 -> 0 bytes 31 files changed, 2373 deletions(-) delete mode 100644 core/tests/Access_Helper_Test.php delete mode 100644 core/tests/Album_Helper_Test.php delete mode 100644 core/tests/Albums_Controller_Test.php delete mode 100644 core/tests/Core_Installer_Test.php delete mode 100644 core/tests/Database_Test.php delete mode 100644 core/tests/Dir_Helper_Test.php delete mode 100644 core/tests/DrawForm_Test.php delete mode 100644 core/tests/File_Structure_Test.php delete mode 100644 core/tests/I18n_Test.php delete mode 100644 core/tests/Item_Model_Test.php delete mode 100644 core/tests/Menu_Test.php delete mode 100644 core/tests/Movie_Helper_Test.php delete mode 100644 core/tests/ORM_MPTT_Test.php delete mode 100644 core/tests/Photo_Helper_Test.php delete mode 100644 core/tests/Photos_Controller_Test.php delete mode 100644 core/tests/REST_Controller_Test.php delete mode 100644 core/tests/REST_Helper_Test.php delete mode 100644 core/tests/Sendmail_Test.php delete mode 100644 core/tests/Var_Test.php delete mode 100644 core/tests/images/DSC_0003.jpg delete mode 100644 core/tests/images/DSC_0005.jpg delete mode 100644 core/tests/images/DSC_0017.jpg delete mode 100644 core/tests/images/DSC_0019.jpg delete mode 100644 core/tests/images/DSC_0067.jpg delete mode 100644 core/tests/images/DSC_0072.jpg delete mode 100644 core/tests/images/P4050088.jpg delete mode 100644 core/tests/selenium/Add_Album.html delete mode 100644 core/tests/selenium/Add_Comment.html delete mode 100644 core/tests/selenium/Add_Item.html delete mode 100644 core/tests/selenium/Login.html delete mode 100644 core/tests/test.jpg (limited to 'core/tests') diff --git a/core/tests/Access_Helper_Test.php b/core/tests/Access_Helper_Test.php deleted file mode 100644 index 7012a487..00000000 --- a/core/tests/Access_Helper_Test.php +++ /dev/null @@ -1,323 +0,0 @@ -where("name", "access_test")->find(); - if ($group->loaded) { - $group->delete(); - } - } catch (Exception $e) { } - - try { - access::delete_permission("access_test"); - } catch (Exception $e) { } - - try { - $user = ORM::factory("user")->where("name", "access_test")->find(); - if ($user->loaded) { - $user->delete(); - } - } catch (Exception $e) { } - } - - public function setup() { - user::set_active(user::guest()); - } - - public function groups_and_permissions_are_bound_to_columns_test() { - access::register_permission("access_test", "Access Test"); - $group = group::create("access_test"); - - // We have a new column for this perm / group combo - $fields = Database::instance()->list_fields("access_caches"); - $this->assert_true(array_key_exists("access_test_{$group->id}", $fields)); - - access::delete_permission("access_test"); - $group->delete(); - - // Now the column has gone away - $fields = Database::instance()->list_fields("access_caches"); - $this->assert_false(array_key_exists("access_test_{$group->id}", $fields)); - } - - public function adding_and_removing_items_adds_ands_removes_rows_test() { - $root = ORM::factory("item", 1); - $item = album::create($root, rand(), "test album"); - - // New rows exist - $this->assert_true(ORM::factory("access_cache")->where("item_id", $item->id)->find()->loaded); - $this->assert_true(ORM::factory("access_intent")->where("item_id", $item->id)->find()->loaded); - - // Delete the item - $item->delete(); - - // Rows are gone - $this->assert_false(ORM::factory("access_cache")->where("item_id", $item->id)->find()->loaded); - $this->assert_false(ORM::factory("access_intent")->where("item_id", $item->id)->find()->loaded); - } - - public function new_photos_inherit_parent_permissions_test() { - $root = ORM::factory("item", 1); - - $album = album::create($root, rand(), "test album"); - access::allow(group::everybody(), "view", $album); - - $photo = ORM::factory("item"); - $photo->type = "photo"; - $photo->add_to_parent($album); - access::add_item($photo); - - $this->assert_true($photo->__get("view_" . group::everybody()->id)); - } - - public function can_allow_deny_and_reset_intent_test() { - $root = ORM::factory("item", 1); - $album = album::create($root, rand(), "test album"); - $intent = ORM::factory("access_intent")->where("item_id", $album)->find(); - - // Allow - access::allow(group::everybody(), "view", $album); - $this->assert_same(access::ALLOW, $intent->reload()->view_1); - - // Deny - access::deny(group::everybody(), "view", $album); - $this->assert_same( - access::DENY, - ORM::factory("access_intent")->where("item_id", $album)->find()->view_1); - - // Allow again. If the initial value was allow, then the first Allow clause above may not - // have actually changed any values. - access::allow(group::everybody(), "view", $album); - $this->assert_same( - access::ALLOW, - ORM::factory("access_intent")->where("item_id", $album)->find()->view_1); - - access::reset(group::everybody(), "view", $album); - $this->assert_same( - null, - ORM::factory("access_intent")->where("item_id", $album)->find()->view_1); - } - - public function cant_reset_root_item_test() { - try { - access::reset(group::everybody(), "view", ORM::factory("item", 1)); - } catch (Exception $e) { - return; - } - $this->assert_true(false, "Should not be able to reset root intent"); - } - - public function can_view_item_test() { - $root = ORM::factory("item", 1); - access::allow(group::everybody(), "view", $root); - $this->assert_true(access::group_can(group::everybody(), "view", $root)); - } - - public function can_always_fails_on_unloaded_items_test() { - $root = ORM::factory("item", 1); - access::allow(group::everybody(), "view", $root); - $this->assert_true(access::group_can(group::everybody(), "view", $root)); - - $bogus = ORM::factory("item", -1); - $this->assert_false(access::group_can(group::everybody(), "view", $bogus)); - } - - public function cant_view_child_of_hidden_parent_test() { - $root = ORM::factory("item", 1); - $album = album::create($root, rand(), "test album"); - - $root->reload(); - access::deny(group::everybody(), "view", $root); - access::reset(group::everybody(), "view", $album); - - $album->reload(); - $this->assert_false(access::group_can(group::everybody(), "view", $album)); - } - - public function view_permissions_propagate_down_test() { - $root = ORM::factory("item", 1); - $album = album::create($root, rand(), "test album"); - - access::allow(group::everybody(), "view", $root); - access::reset(group::everybody(), "view", $album); - $album->reload(); - $this->assert_true(access::group_can(group::everybody(), "view", $album)); - } - - public function can_toggle_view_permissions_propagate_down_test() { - $root = ORM::factory("item", 1); - $album1 = album::create($root, rand(), "test album"); - $album2 = album::create($album1, rand(), "test album"); - $album3 = album::create($album2, rand(), "test album"); - $album4 = album::create($album3, rand(), "test album"); - - $album1->reload(); - $album2->reload(); - $album3->reload(); - $album4->reload(); - - access::allow(group::everybody(), "view", $root); - access::deny(group::everybody(), "view", $album1); - access::reset(group::everybody(), "view", $album2); - access::reset(group::everybody(), "view", $album3); - access::reset(group::everybody(), "view", $album4); - - $album4->reload(); - $this->assert_false(access::group_can(group::everybody(), "view", $album4)); - - access::allow(group::everybody(), "view", $album1); - $album4->reload(); - $this->assert_true(access::group_can(group::everybody(), "view", $album4)); - } - - public function revoked_view_permissions_cant_be_allowed_lower_down_test() { - $root = ORM::factory("item", 1); - $album1 = album::create($root, rand(), "test album"); - $album2 = album::create($album1, rand(), "test album"); - - $root->reload(); - access::deny(group::everybody(), "view", $root); - access::allow(group::everybody(), "view", $album2); - - $album1->reload(); - $this->assert_false(access::group_can(group::everybody(), "view", $album1)); - - $album2->reload(); - $this->assert_false(access::group_can(group::everybody(), "view", $album2)); - } - - public function can_edit_item_test() { - $root = ORM::factory("item", 1); - access::allow(group::everybody(), "edit", $root); - $this->assert_true(access::group_can(group::everybody(), "edit", $root)); - } - - public function non_view_permissions_propagate_down_test() { - $root = ORM::factory("item", 1); - $album = album::create($root, rand(), "test album"); - - access::allow(group::everybody(), "edit", $root); - access::reset(group::everybody(), "edit", $album); - $this->assert_true(access::group_can(group::everybody(), "edit", $album)); - } - - public function non_view_permissions_can_be_revoked_lower_down_test() { - $root = ORM::factory("item", 1); - $outer = album::create($root, rand(), "test album"); - $outer_photo = ORM::factory("item"); - $outer_photo->type = "photo"; - $outer_photo->add_to_parent($outer); - access::add_item($outer_photo); - - $inner = album::create($outer, rand(), "test album"); - $inner_photo = ORM::factory("item"); - $inner_photo->type = "photo"; - $inner_photo->add_to_parent($inner); - access::add_item($inner_photo); - - $outer->reload(); - $inner->reload(); - - access::allow(group::everybody(), "edit", $root); - access::deny(group::everybody(), "edit", $outer); - access::allow(group::everybody(), "edit", $inner); - - // Outer album is not editable, inner one is. - $this->assert_false(access::group_can(group::everybody(), "edit", $outer_photo)); - $this->assert_true(access::group_can(group::everybody(), "edit", $inner_photo)); - } - - public function i_can_edit_test() { - // Create a new user that belongs to no groups - $user = user::create("access_test", "Access Test", ""); - foreach ($user->groups as $group) { - $user->remove($group); - } - $user->save(); - user::set_active($user); - - // This user can't edit anything - $root = ORM::factory("item", 1); - $this->assert_false(access::can("edit", $root)); - - // Now add them to a group that has edit permission - $group = group::create("access_test"); - $group->add($user); - $group->save(); - access::allow($group, "edit", $root); - - $user = ORM::factory("user", $user->id); // reload() does not flush related columns - user::set_active($user); - - // And verify that the user can edit. - $this->assert_true(access::can("edit", $root)); - } - - public function everybody_view_permission_maintains_htaccess_files_test() { - $root = ORM::factory("item", 1); - $album = album::create($root, rand(), "test album"); - - $this->assert_false(file_exists($album->file_path() . "/.htaccess")); - - access::deny(group::everybody(), "view", $album); - $this->assert_true(file_exists($album->file_path() . "/.htaccess")); - - access::allow(group::everybody(), "view", $album); - $this->assert_false(file_exists($album->file_path() . "/.htaccess")); - - access::deny(group::everybody(), "view", $album); - $this->assert_true(file_exists($album->file_path() . "/.htaccess")); - - access::reset(group::everybody(), "view", $album); - $this->assert_false(file_exists($album->file_path() . "/.htaccess")); - } - - public function everybody_view_full_permission_maintains_htaccess_files_test() { - $root = ORM::factory("item", 1); - $album = album::create($root, rand(), "test album"); - - $this->assert_false(file_exists($album->file_path() . "/.htaccess")); - $this->assert_false(file_exists($album->resize_path() . "/.htaccess")); - $this->assert_false(file_exists($album->thumb_path() . "/.htaccess")); - - access::deny(group::everybody(), "view_full", $album); - $this->assert_true(file_exists($album->file_path() . "/.htaccess")); - $this->assert_false(file_exists($album->resize_path() . "/.htaccess")); - $this->assert_false(file_exists($album->thumb_path() . "/.htaccess")); - - access::allow(group::everybody(), "view_full", $album); - $this->assert_false(file_exists($album->file_path() . "/.htaccess")); - $this->assert_false(file_exists($album->resize_path() . "/.htaccess")); - $this->assert_false(file_exists($album->thumb_path() . "/.htaccess")); - - access::deny(group::everybody(), "view_full", $album); - $this->assert_true(file_exists($album->file_path() . "/.htaccess")); - $this->assert_false(file_exists($album->resize_path() . "/.htaccess")); - $this->assert_false(file_exists($album->thumb_path() . "/.htaccess")); - - access::reset(group::everybody(), "view_full", $album); - $this->assert_false(file_exists($album->file_path() . "/.htaccess")); - $this->assert_false(file_exists($album->resize_path() . "/.htaccess")); - $this->assert_false(file_exists($album->thumb_path() . "/.htaccess")); - } -} diff --git a/core/tests/Album_Helper_Test.php b/core/tests/Album_Helper_Test.php deleted file mode 100644 index 80afa8d1..00000000 --- a/core/tests/Album_Helper_Test.php +++ /dev/null @@ -1,87 +0,0 @@ -assert_equal(VARPATH . "albums/$rand", $album->file_path()); - $this->assert_equal(VARPATH . "thumbs/$rand/.album.jpg", $album->thumb_path()); - $this->assert_true(is_dir(VARPATH . "thumbs/$rand"), "missing thumb dir"); - - // It's unclear that a resize makes sense for an album. But we have one. - $this->assert_equal(VARPATH . "resizes/$rand/.album.jpg", $album->resize_path()); - $this->assert_true(is_dir(VARPATH . "resizes/$rand"), "missing resizes dir"); - - $this->assert_equal(1, $album->parent_id); // MPTT tests will cover other hierarchy checks - $this->assert_equal($rand, $album->name); - $this->assert_equal($rand, $album->title); - $this->assert_equal($rand, $album->description); - } - - public function create_conflicting_album_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - $album1 = album::create($root, $rand, $rand, $rand); - $album2 = album::create($root, $rand, $rand, $rand); - $this->assert_true($album1->name != $album2->name); - } - - public function thumb_url_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - $album = album::create($root, $rand, $rand, $rand); - $this->assert_equal("http://./var/thumbs/$rand/.album.jpg", $album->thumb_url()); - } - - public function resize_url_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - $album = album::create($root, $rand, $rand, $rand); - $this->assert_equal("http://./var/resizes/$rand/.album.jpg", $album->resize_url()); - } - - public function create_album_shouldnt_allow_names_with_slash_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - try { - $album = album::create($root, $rand . "/", $rand, $rand); - } catch (Exception $e) { - // pass - return; - } - - $this->assert_true(false, "Shouldn't create an album with / in the name"); - } - - public function create_album_silently_trims_trailing_periods_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - try { - $album = album::create($root, $rand . "..", $rand, $rand); - } catch (Exception $e) { - $this->assert_equal("@todo NAME_CANNOT_END_IN_PERIOD", $e->getMessage()); - return; - } - - $this->assert_true(false, "Shouldn't create an album with trailing . in the name"); - } -} diff --git a/core/tests/Albums_Controller_Test.php b/core/tests/Albums_Controller_Test.php deleted file mode 100644 index ef1fac77..00000000 --- a/core/tests/Albums_Controller_Test.php +++ /dev/null @@ -1,76 +0,0 @@ -_post = $_POST; - } - - public function teardown() { - $_POST = $this->_post; - } - - public function change_album_test() { - $controller = new Albums_Controller(); - $root = ORM::factory("item", 1); - $album = album::create($root, "test", "test", "test"); - $orig_name = $album->name; - - $_POST["dirname"] = "test"; - $_POST["name"] = "new name"; - $_POST["title"] = "new title"; - $_POST["description"] = "new description"; - $_POST["column"] = "weight"; - $_POST["direction"] = "ASC"; - $_POST["csrf"] = access::csrf_token(); - $_POST["_method"] = "put"; - access::allow(group::everybody(), "edit", $root); - - ob_start(); - $controller->_update($album); - $results = ob_get_contents(); - ob_end_clean(); - - $this->assert_equal( - json_encode(array("result" => "success", "location" => "http://./index.php/test")), - $results); - $this->assert_equal("new title", $album->title); - $this->assert_equal("new description", $album->description); - - // We don't change the name, yet. - $this->assert_equal($orig_name, $album->name); - } - - public function change_album_no_csrf_fails_test() { - $controller = new Albums_Controller(); - $root = ORM::factory("item", 1); - $album = album::create($root, "test", "test", "test"); - $_POST["name"] = "new name"; - $_POST["title"] = "new title"; - $_POST["description"] = "new description"; - access::allow(group::everybody(), "edit", $root); - - try { - $controller->_update($album); - $this->assert_true(false, "This should fail"); - } catch (Exception $e) { - // pass - } - } -} diff --git a/core/tests/Core_Installer_Test.php b/core/tests/Core_Installer_Test.php deleted file mode 100644 index f7036286..00000000 --- a/core/tests/Core_Installer_Test.php +++ /dev/null @@ -1,50 +0,0 @@ -assert_true(file_exists(VARPATH . "albums")); - $this->assert_true(file_exists(VARPATH . "resizes")); - } - - public function install_registers_core_module_test() { - $core = ORM::factory("module")->where("name", "core")->find(); - $this->assert_equal("core", $core->name); - - // This is probably too volatile to keep for long - $this->assert_equal(1, $core->version); - } - - public function install_creates_root_item_test() { - $max_right = ORM::factory("item") - ->select("MAX(`right`) AS `right`") - ->find()->right; - $root = ORM::factory('item')->find(1); - $this->assert_equal("Gallery", $root->title); - $this->assert_equal(1, $root->left); - $this->assert_equal($max_right, $root->right); - $this->assert_equal(null, $root->parent_id); - $this->assert_equal(1, $root->level); - } -} diff --git a/core/tests/Database_Test.php b/core/tests/Database_Test.php deleted file mode 100644 index bd3d2f53..00000000 --- a/core/tests/Database_Test.php +++ /dev/null @@ -1,134 +0,0 @@ -where("a", 1) - ->where("b", 2) - ->compile(); - $sql = str_replace("\n", " ", $sql); - $this->assert_same("SELECT * WHERE `a` = 1 AND `b` = 2", $sql); - } - - function compound_where_test() { - $sql = Database::instance() - ->where("outer1", 1) - ->open_paren() - ->where("inner1", 1) - ->orwhere("inner2", 2) - ->close_paren() - ->where("outer2", 2) - ->compile(); - $sql = str_replace("\n", " ", $sql); - $this->assert_same( - "SELECT * WHERE `outer1` = 1 AND (`inner1` = 1 OR `inner2` = 2) AND `outer2` = 2", - $sql); - } - - function group_first_test() { - $sql = Database::instance() - ->open_paren() - ->where("inner1", 1) - ->orwhere("inner2", 2) - ->close_paren() - ->where("outer1", 1) - ->where("outer2", 2) - ->compile(); - $sql = str_replace("\n", " ", $sql); - $this->assert_same( - "SELECT * WHERE (`inner1` = 1 OR `inner2` = 2) AND `outer1` = 1 AND `outer2` = 2", - $sql); - } - - function where_array_test() { - $sql = Database::instance() - ->where("outer1", 1) - ->open_paren() - ->where("inner1", 1) - ->orwhere(array("inner2" => 2, "inner3" => 3)) - ->close_paren() - ->compile(); - $sql = str_replace("\n", " ", $sql); - $this->assert_same( - "SELECT * WHERE `outer1` = 1 AND (`inner1` = 1 OR `inner2` = 2 OR `inner3` = 3)", - $sql); - } - - function notlike_test() { - $sql = Database::instance() - ->where("outer1", 1) - ->open_paren() - ->ornotlike("inner1", 1) - ->close_paren() - ->compile(); - $sql = str_replace("\n", " ", $sql); - $this->assert_same( - "SELECT * WHERE `outer1` = 1 OR ( `inner1` NOT LIKE '%1%')", - $sql); - } - - function prefix_replacement_test() { - $db = Database_For_Test::instance(); - $converted = $db->add_table_prefixes("CREATE TABLE IF NOT EXISTS {test_tables} ( - `id` int(9) NOT NULL auto_increment, - `name` varchar(32) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY(`name`)) - ENGINE=InnoDB DEFAULT CHARSET=utf8"); - $expected = "CREATE TABLE IF NOT EXISTS g3test_test_tables ( - `id` int(9) NOT NULL auto_increment, - `name` varchar(32) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY(`name`)) - ENGINE=InnoDB DEFAULT CHARSET=utf8"; - $this->assert_same($expected, $converted); - - $sql = "UPDATE {test_tables} SET `name` = '{test string}' " . - "WHERE `item_id` IN " . - " (SELECT `id` FROM {items} " . - " WHERE `left` >= 1 " . - " AND `right` <= 6)"; - $sql = $db->add_table_prefixes($sql); - - $expected = "UPDATE g3test_test_tables SET `name` = '{test string}' " . - "WHERE `item_id` IN " . - " (SELECT `id` FROM g3test_items " . - " WHERE `left` >= 1 " . - " AND `right` <= 6)"; - - $this->assert_same($expected, $sql); - } - - public function setup() { - } - - public function teardown() { - } - -} - -class Database_For_Test extends Database { - static function instance() { - $db = new Database_For_Test(); - $db->_table_names["{items}"] = "g3test_items"; - $db->config["table_prefix"] = "g3test_"; - return $db; - } -} diff --git a/core/tests/Dir_Helper_Test.php b/core/tests/Dir_Helper_Test.php deleted file mode 100644 index 46bb871c..00000000 --- a/core/tests/Dir_Helper_Test.php +++ /dev/null @@ -1,32 +0,0 @@ -assert_boolean(!file_exists($filename), "File not deleted"); - $this->assert_boolean(!file_exists($dirname), "Directory not deleted"); - } -} diff --git a/core/tests/DrawForm_Test.php b/core/tests/DrawForm_Test.php deleted file mode 100644 index 2c5aaba4..00000000 --- a/core/tests/DrawForm_Test.php +++ /dev/null @@ -1,84 +0,0 @@ - "gTestGroupForm")); - $form->input("title")->label(t("Title")); - $form->textarea("description")->label(t("Text Area")); - $form->submit("")->value(t("Submit")); - $rendered = $form->__toString(); - - $expected = "
\n" . - "\n" . - " \n" . - "
\n"; - $this->assert_same($expected, $rendered); - } - - function group_test() { - $form = new Forge("test/controller", "", "post", array("id" => "gTestGroupForm")); - $group = $form->group("test_group")->label(t("Test Group")); - $group->input("title")->label(t("Title")); - $group->textarea("description")->label(t("Text Area")); - $group->submit("")->value(t("Submit")); - $rendered = $form->__toString(); - - $expected = "
\n" . - "\n" . - "
\n" . - " Test Group\n" . - "
    \n" . - "
  • \n" . - " \n" . - " \n" . - "
  • \n" . - "
  • \n" . - " \n" . - " \n" . - "
  • \n" . - "
  • \n" . - " \n" . - "
  • \n" . - "
\n" . - "
\n" . - "
\n"; - $this->assert_same($expected, $rendered); - } - -} - diff --git a/core/tests/File_Structure_Test.php b/core/tests/File_Structure_Test.php deleted file mode 100644 index 1caa82ba..00000000 --- a/core/tests/File_Structure_Test.php +++ /dev/null @@ -1,235 +0,0 @@ -getPathname())) { - $this->assert_false( - preg_match('/\?\>\s*$/', file_get_contents($file)), - "{$file->getPathname()} ends in ?>"); - } - } - } - - public function view_files_correct_suffix_test() { - $dir = new GalleryCodeFilterIterator( - new RecursiveIteratorIterator(new RecursiveDirectoryIterator(DOCROOT))); - foreach ($dir as $file) { - if (strpos($file, "views")) { - $this->assert_true( - preg_match("#/views/.*?(\.html|mrss|txt)\.php$#", $file->getPathname()), - "{$file->getPathname()} should end in .{html,mrss,txt}.php"); - } - } - } - - public function no_windows_line_endings_test() { - $dir = new GalleryCodeFilterIterator( - new RecursiveIteratorIterator(new RecursiveDirectoryIterator(DOCROOT))); - foreach ($dir as $file) { - if (preg_match("/\.(php|css|html|js)$/", $file)) { - foreach (file($file) as $line) { - $this->assert_true(substr($line, -2) != "\r\n", "$file has windows style line endings"); - } - } - } - } - - private function _check_view_preamble($path, &$errors) { - // The preamble for views is a single line that prevents direct script access - if (strpos($path, SYSPATH) === 0) { - // Kohana preamble - $expected = "\n"; - } else { - // Gallery preamble - // @todo use the same preamble for both! - $expected = "\n"; - } - - $fp = fopen($path, "r"); - $actual = fgets($fp); - fclose($fp); - - if ($expected != $actual) { - $errors[] = "$path:1\n expected:\n\t$expected\n actual:\n\t$actual"; - } - } - - private function _check_php_preamble($path, &$errors) { - if (strpos($path, SYSPATH) === 0 || - strpos($path, MODPATH . "unit_test") === 0) { - // Kohana: we only care about the first line - $fp = fopen($path, "r"); - $actual = array(fgets($fp)); - fclose($fp); - $expected = array("_get_preamble($path); - $expected = array( - "getPathname(); - switch ($path) { - case DOCROOT . "installer/database_config.php": - case DOCROOT . "installer/init_var.php": - // Special case views - $this->_check_view_preamble($path, $errors); - break; - - case DOCROOT . "index.php": - case DOCROOT . "installer/index.php": - // Front controllers - break; - - case DOCROOT . "index.local.php": - // Special case optional file, not part of the codebase - break; - - default: - if (strpos($path, DOCROOT . "var/logs") === 0) { - continue; - } else if (preg_match("/views/", $path)) { - $this->_check_view_preamble($path, $errors); - } else { - $this->_check_php_preamble($path, $errors); - } - } - } - - if ($errors) { - $this->assert_false(true, "Preamble errors:\n" . join("\n", $errors)); - } - } - - public function no_tabs_in_our_code_test() { - $dir = new PhpCodeFilterIterator( - new GalleryCodeFilterIterator( - new RecursiveIteratorIterator( - new RecursiveDirectoryIterator(DOCROOT)))); - foreach ($dir as $file) { - $this->assert_false( - preg_match('/\t/', file_get_contents($file)), - "{$file->getPathname()} has tabs in it"); - } - } - - private function _get_preamble($file) { - $lines = file($file); - $copy = array(); - for ($i = 0; $i < count($lines); $i++) { - $copy[] = rtrim($lines[$i]); - if (!strncmp($lines[$i], ' */', 3)) { - return $copy; - } - } - return $copy; - } - - public function helpers_are_static_test() { - $dir = new PhpCodeFilterIterator( - new GalleryCodeFilterIterator( - new RecursiveIteratorIterator( - new RecursiveDirectoryIterator(DOCROOT)))); - foreach ($dir as $file) { - if (basename(dirname($file)) == "helpers") { - foreach (file($file) as $line) { - $this->assert_true( - !preg_match("/\sfunction\s.*\(/", $line) || - preg_match("/^\s*(private static function _|static function)/", $line), - "should be \"static function foo\" or \"private static function _foo\":\n" . - "$file\n$line\n"); - } - } - } - } -} - -class PhpCodeFilterIterator extends FilterIterator { - public function accept() { - $path_name = $this->getInnerIterator()->getPathName(); - return (substr($path_name, -4) == ".php" && - !(strpos($path_name, VARPATH) === 0)); - } -} - -class GalleryCodeFilterIterator extends FilterIterator { - public function accept() { - // Skip anything that we didn"t write - $path_name = $this->getInnerIterator()->getPathName(); - return !( - strpos($path_name, ".svn") || - strpos($path_name, "core/views/kohana_profiler.php") !== false || - strpos($path_name, DOCROOT . "test") !== false || - strpos($path_name, DOCROOT . "var") !== false || - strpos($path_name, MODPATH . "forge") !== false || - strpos($path_name, APPPATH . "views/kohana_error_page.php") !== false || - strpos($path_name, MODPATH . "gallery_unit_test/views/kohana_error_page.php") !== false || - strpos($path_name, MODPATH . "gallery_unit_test/views/kohana_unit_test_cli.php") !== false || - strpos($path_name, MODPATH . "unit_test") !== false || - strpos($path_name, MODPATH . "exif/lib") !== false || - strpos($path_name, MODPATH . "user/lib/PasswordHash") !== false || - strpos($path_name, DOCROOT . "lib/swfupload") !== false || - strpos($path_name, SYSPATH) !== false || - substr($path_name, -1, 1) == "~"); - } -} diff --git a/core/tests/I18n_Test.php b/core/tests/I18n_Test.php deleted file mode 100644 index 9010606a..00000000 --- a/core/tests/I18n_Test.php +++ /dev/null @@ -1,108 +0,0 @@ - 'en', - 'default_locale' => 'te_ST', - 'locale_dir' => VARPATH . 'locale/'); - $this->i18n = I18n::instance($config); - - ORM::factory("incoming_translation") - ->where("locale", "te_ST") - ->delete_all(); - - $messages_te_ST = array( - array('Hello world', 'Hallo Welt'), - array(array('one' => 'One item has been added', - 'other' => '%count elements have been added'), - array('one' => 'Ein Element wurde hinzugefuegt.', - 'other' => '%count Elemente wurden hinzugefuegt.')), - array('Hello %name, how are you today?', 'Hallo %name, wie geht es Dir heute?')); - - foreach ($messages_te_ST as $data) { - list ($message, $translation) = $data; - $entry = ORM::factory("incoming_translation"); - $entry->key = I18n::get_message_key($message); - $entry->message = serialize($message); - $entry->translation = serialize($translation); - $entry->locale = 'te_ST'; - $entry->revision = null; - $entry->save(); - } - } - - public function get_locale_test() { - $locale = $this->i18n->locale(); - $this->assert_equal("te_ST", $locale); - } - - public function set_locale_test() { - $this->i18n->locale("de_DE"); - $locale = $this->i18n->locale(); - $this->assert_equal("de_DE", $locale); - } - - public function translate_simple_test() { - $result = $this->i18n->translate('Hello world'); - $this->assert_equal('Hallo Welt', $result); - } - - public function translate_simple_root_fallback_test() { - $result = $this->i18n->translate('Hello world zzz'); - $this->assert_equal('Hello world zzz', $result); - } - - public function translate_plural_other_test() { - $result = $this->i18n->translate(array('one' => 'One item has been added', - 'other' => '%count elements have been added'), - array('count' => 5)); - $this->assert_equal('5 Elemente wurden hinzugefuegt.', $result); - } - - public function translate_plural_one_test() { - $result = $this->i18n->translate(array('one' => 'One item has been added', - 'other' => '%count elements have been added'), - array('count' => 1)); - $this->assert_equal('Ein Element wurde hinzugefuegt.', $result); - } - - public function translate_interpolate_test() { - $result = $this->i18n->translate('Hello %name, how are you today?', array('name' => 'John')); - $this->assert_equal('Hallo John, wie geht es Dir heute?', $result); - } - - public function translate_interpolate_missing_value_test() { - $result = $this->i18n->translate('Hello %name, how are you today?', array('foo' => 'bar')); - $this->assert_equal('Hallo %name, wie geht es Dir heute?', $result); - } - - public function translate_plural_zero_test() { - // te_ST has the same plural rules as en and de. - // For count 0, plural form "other" should be used. - $result = $this->i18n->translate(array('one' => 'One item has been added', - 'other' => '%count elements have been added'), - array('count' => 0)); - $this->assert_equal('0 Elemente wurden hinzugefuegt.', $result); - } -} \ No newline at end of file diff --git a/core/tests/Item_Model_Test.php b/core/tests/Item_Model_Test.php deleted file mode 100644 index 615b8997..00000000 --- a/core/tests/Item_Model_Test.php +++ /dev/null @@ -1,143 +0,0 @@ -assert_true(!empty($item->created)); - $this->assert_true(!empty($item->updated)); - } - - private function create_random_item() { - $item = ORM::factory("item"); - /* Set all required fields (values are irrelevant) */ - $item->name = rand(); - $item->type = "photo"; - return $item->add_to_parent(ORM::factory("item", 1)); - } - - public function updating_doesnt_change_created_date_test() { - $item = self::create_random_item(); - - // Force the creation date to something well known - $db = Database::instance(); - $db->update("items", array("created" => 0, "updated" => 0), array("id" => $item->id)); - $item->reload(); - $item->title = "foo"; // force a change - $item->save(); - - $this->assert_true(empty($item->created)); - $this->assert_true(!empty($item->updated)); - } - - public function updating_view_count_only_doesnt_change_updated_date_test() { - $item = self::create_random_item(); - $item->reload(); - $this->assert_same(0, $item->view_count); - - // Force the updated date to something well known - $db = Database::instance(); - $db->update("items", array("updated" => 0), array("id" => $item->id)); - $item->reload(); - $item->view_count++; - $item->save(); - - $this->assert_same(1, $item->view_count); - $this->assert_true(empty($item->updated)); - } - - public function move_photo_test() { - // Create a test photo - $item = self::create_random_item(); - - file_put_contents($item->thumb_path(), "thumb"); - file_put_contents($item->resize_path(), "resize"); - file_put_contents($item->file_path(), "file"); - - $original_name = $item->name; - $new_name = rand(); - - // Now rename it - $item->rename($new_name)->save(); - - // Expected: the name changed, the name is now baked into all paths, and all files were moved. - $this->assert_equal($new_name, $item->name); - $this->assert_equal($new_name, basename($item->file_path())); - $this->assert_equal($new_name, basename($item->thumb_path())); - $this->assert_equal($new_name, basename($item->resize_path())); - $this->assert_equal("thumb", file_get_contents($item->thumb_path())); - $this->assert_equal("resize", file_get_contents($item->resize_path())); - $this->assert_equal("file", file_get_contents($item->file_path())); - } - - public function move_album_test() { - // Create an album with a photo in it - $root = ORM::factory("item", 1); - $album = album::create($root, rand(), rand(), rand()); - $photo = ORM::factory("item"); - $photo->name = rand(); - $photo->type = "photo"; - $photo->add_to_parent($album); - - file_put_contents($photo->thumb_path(), "thumb"); - file_put_contents($photo->resize_path(), "resize"); - file_put_contents($photo->file_path(), "file"); - - $original_album_name = $album->name; - $original_photo_name = $photo->name; - $new_album_name = rand(); - - // Now rename the album - $album->rename($new_album_name)->save(); - $photo->reload(); - - // Expected: - // * the album name changed. - // * the album dirs are all moved - // * the photo's paths are all inside the albums paths - // * the photo files are all still intact and accessible - $this->assert_equal($new_album_name, $album->name); - $this->assert_equal($new_album_name, basename($album->file_path())); - $this->assert_equal($new_album_name, basename(dirname($album->thumb_path()))); - $this->assert_equal($new_album_name, basename(dirname($album->resize_path()))); - - $this->assert_same(0, strpos($photo->file_path(), $album->file_path())); - $this->assert_same(0, strpos($photo->thumb_path(), dirname($album->thumb_path()))); - $this->assert_same(0, strpos($photo->resize_path(), dirname($album->resize_path()))); - - $this->assert_equal("thumb", file_get_contents($photo->thumb_path())); - $this->assert_equal("resize", file_get_contents($photo->resize_path())); - $this->assert_equal("file", file_get_contents($photo->file_path())); - } - - public function item_rename_wont_accept_slash_test() { - // Create a test photo - $item = self::create_random_item(); - - $new_name = rand() . "/"; - - try { - $item->rename($new_name)->save(); - } catch (Exception $e) { - // pass - return; - } - $this->assert_false(true, "Item_Model::rename should not accept / characters"); - } -} diff --git a/core/tests/Menu_Test.php b/core/tests/Menu_Test.php deleted file mode 100644 index c91aee0b..00000000 --- a/core/tests/Menu_Test.php +++ /dev/null @@ -1,32 +0,0 @@ -append(Menu::factory("link")->id("element_1")) - ->append(Menu::factory("dialog")->id("element_2")) - ->append(Menu::factory("submenu")->id("element_3") - ->append(Menu::factory("link")->id("element_3_1"))); - - $this->assert_equal("element_2", $menu->get("element_2")->id); - $this->assert_equal("element_3_1", $menu->get("element_3")->get("element_3_1")->id); - } -} \ No newline at end of file diff --git a/core/tests/Movie_Helper_Test.php b/core/tests/Movie_Helper_Test.php deleted file mode 100644 index b92ef3f8..00000000 --- a/core/tests/Movie_Helper_Test.php +++ /dev/null @@ -1,46 +0,0 @@ -assert_true(false, "Shouldn't create a movie with / in the name"); - } - - public function create_movie_shouldnt_allow_names_with_trailing_periods_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - try { - $movie = movie::create($root, DOCROOT . "core/tests/test.jpg", "$rand.jpg.", $rand, $rand); - } catch (Exception $e) { - $this->assert_equal("@todo NAME_CANNOT_END_IN_PERIOD", $e->getMessage()); - return; - } - - $this->assert_true(false, "Shouldn't create a movie with trailing . in the name"); - } -} diff --git a/core/tests/ORM_MPTT_Test.php b/core/tests/ORM_MPTT_Test.php deleted file mode 100644 index 200c8a74..00000000 --- a/core/tests/ORM_MPTT_Test.php +++ /dev/null @@ -1,221 +0,0 @@ -type = "album"; - $album->rand_key = ((float)mt_rand()) / (float)mt_getrandmax(); - $album->sort_column = "weight"; - $album->sort_order = "ASC"; - $album->add_to_parent($root); - - $this->assert_equal($album->parent()->right - 2, $album->left); - $this->assert_equal($album->parent()->right - 1, $album->right); - $this->assert_equal($album->parent()->level + 1, $album->level); - $this->assert_equal($album->parent()->id, $album->parent_id); - } - - public function add_hierarchy_test() { - $root = ORM::factory("item", 1); - $album1 = self::create_item_and_add_to_parent($root); - $album1_1 = self::create_item_and_add_to_parent($album1); - $album1_2 = self::create_item_and_add_to_parent($album1); - $album1_1_1 = self::create_item_and_add_to_parent($album1_1); - $album1_1_2 = self::create_item_and_add_to_parent($album1_1); - - $album1->reload(); - $this->assert_equal(9, $album1->right - $album1->left); - - $album1_1->reload(); - $this->assert_equal(5, $album1_1->right - $album1_1->left); - } - - public function delete_hierarchy_test() { - $root = ORM::factory("item", 1); - $album1 = self::create_item_and_add_to_parent($root); - $album1_1 = self::create_item_and_add_to_parent($album1); - $album1_2 = self::create_item_and_add_to_parent($album1); - $album1_1_1 = self::create_item_and_add_to_parent($album1_1); - $album1_1_2 = self::create_item_and_add_to_parent($album1_1); - - $album1_1->delete(); - $album1->reload(); - - // Now album1 contains only album1_2 - $this->assert_equal(3, $album1->right - $album1->left); - } - - public function move_to_test() { - $root = ORM::factory("item", 1); - $album1 = album::create($root, "move_to_test_1", "move_to_test_1"); - $album1_1 = album::create($album1, "move_to_test_1_1", "move_to_test_1_1"); - $album1_2 = album::create($album1, "move_to_test_1_2", "move_to_test_1_2"); - $album1_1_1 = album::create($album1_1, "move_to_test_1_1_1", "move_to_test_1_1_1"); - $album1_1_2 = album::create($album1_1, "move_to_test_1_1_2", "move_to_test_1_1_2"); - - $album1_2->reload(); - $album1_1_1->reload(); - - $album1_1_1->move_to($album1_2); - - $album1_1->reload(); - $album1_2->reload(); - - $this->assert_equal(3, $album1_1->right - $album1_1->left); - $this->assert_equal(3, $album1_2->right - $album1_2->left); - - $this->assert_equal( - array($album1_1_2->id => "move_to_test_1_1_2"), - $album1_1->children()->select_list()); - - $this->assert_equal( - array($album1_1_1->id => "move_to_test_1_1_1"), - $album1_2->children()->select_list()); - } - - public function parent_test() { - $root = ORM::factory("item", 1); - $album = self::create_item_and_add_to_parent($root); - - $parent = ORM::factory("item", 1); - $this->assert_equal($parent->id, $album->parent()->id); - } - - public function parents_test() { - $root = ORM::factory("item", 1); - $outer = self::create_item_and_add_to_parent($root); - $inner = self::create_item_and_add_to_parent($outer); - - $parent_ids = array(); - foreach ($inner->parents() as $parent) { - $parent_ids[] = $parent->id; - } - $this->assert_equal(array(1, $outer->id), $parent_ids); - } - - public function children_test() { - $root = ORM::factory("item", 1); - $outer = self::create_item_and_add_to_parent($root); - $inner1 = self::create_item_and_add_to_parent($outer); - $inner2 = self::create_item_and_add_to_parent($outer); - - $child_ids = array(); - foreach ($outer->children() as $child) { - $child_ids[] = $child->id; - } - $this->assert_equal(array($inner1->id, $inner2->id), $child_ids); - } - - public function children_limit_test() { - $root = ORM::factory("item", 1); - $outer = self::create_item_and_add_to_parent($root); - $inner1 = self::create_item_and_add_to_parent($outer); - $inner2 = self::create_item_and_add_to_parent($outer); - - $this->assert_equal(array($inner2->id => $inner2->name), - $outer->children(1, 1)->select_list('id')); - } - - public function children_count_test() { - $root = ORM::factory("item", 1); - $outer = self::create_item_and_add_to_parent($root); - $inner1 = self::create_item_and_add_to_parent($outer); - $inner2 = self::create_item_and_add_to_parent($outer); - - $this->assert_equal(2, $outer->children_count()); - } - - public function descendant_test() { - $root = ORM::factory("item", 1); - - $parent = ORM::factory("item"); - $parent->type = "album"; - $parent->rand_key = ((float)mt_rand()) / (float)mt_getrandmax(); - $parent->sort_column = "weight"; - $parent->sort_order = "ASC"; - $parent->add_to_parent($root); - - $photo = ORM::factory("item"); - $photo->type = "photo"; - $photo->add_to_parent($parent); - - $album1 = ORM::factory("item"); - $album1->type = "album"; - $album1->rand_key = ((float)mt_rand()) / (float)mt_getrandmax(); - $album1->sort_column = "weight"; - $album1->sort_order = "ASC"; - $album1->add_to_parent($parent); - - $photo1 = ORM::factory("item"); - $photo1->type = "photo"; - $photo1->add_to_parent($album1); - - $parent->reload(); - - $this->assert_equal(3, $parent->descendants()->count()); - $this->assert_equal(2, $parent->descendants(null, 0, "photo")->count()); - $this->assert_equal(1, $parent->descendants(null, 0, "album")->count()); - } - - public function descendant_limit_test() { - $root = ORM::factory("item", 1); - - $parent = self::create_item_and_add_to_parent($root); - $album1 = self::create_item_and_add_to_parent($parent); - $album2 = self::create_item_and_add_to_parent($parent); - $album3 = self::create_item_and_add_to_parent($parent); - - $parent->reload(); - $this->assert_equal(2, $parent->descendants(2)->count()); - } - - public function descendant_count_test() { - $root = ORM::factory("item", 1); - - $parent = ORM::factory("item"); - $parent->type = "album"; - $parent->add_to_parent($root); - - $photo = ORM::factory("item"); - $photo->type = "photo"; - $photo->add_to_parent($parent); - - $album1 = ORM::factory("item"); - $album1->type = "album"; - $album1->add_to_parent($parent); - - $photo1 = ORM::factory("item"); - $photo1->type = "photo"; - $photo1->add_to_parent($album1); - - $parent->reload(); - - $this->assert_equal(3, $parent->descendants_count()); - $this->assert_equal(2, $parent->descendants_count("photo")); - $this->assert_equal(1, $parent->descendants_count("album")); - } -} diff --git a/core/tests/Photo_Helper_Test.php b/core/tests/Photo_Helper_Test.php deleted file mode 100644 index deb11bb9..00000000 --- a/core/tests/Photo_Helper_Test.php +++ /dev/null @@ -1,109 +0,0 @@ -assert_equal(VARPATH . "albums/$rand.jpg", $photo->file_path()); - $this->assert_equal(VARPATH . "thumbs/{$rand}.jpg", $photo->thumb_path()); - $this->assert_equal(VARPATH . "resizes/{$rand}.jpg", $photo->resize_path()); - - $this->assert_true(is_file($photo->file_path()), "missing: {$photo->file_path()}"); - $this->assert_true(is_file($photo->resize_path()), "missing: {$photo->resize_path()}"); - $this->assert_true(is_file($photo->thumb_path()), "missing: {$photo->thumb_path()}"); - - $this->assert_equal($root->id, $photo->parent_id); // MPTT tests cover other hierarchy checks - $this->assert_equal("$rand.jpg", $photo->name); - $this->assert_equal($rand, $photo->title); - $this->assert_equal($rand, $photo->description); - $this->assert_equal("image/jpeg", $photo->mime_type); - $this->assert_equal($image_info[0], $photo->width); - $this->assert_equal($image_info[1], $photo->height); - - $this->assert_equal($photo->parent()->right - 2, $photo->left); - $this->assert_equal($photo->parent()->right - 1, $photo->right); - } - - public function create_conflicting_photo_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - $photo1 = photo::create($root, DOCROOT . "core/tests/test.jpg", "$rand.jpg", $rand, $rand); - $photo2 = photo::create($root, DOCROOT . "core/tests/test.jpg", "$rand.jpg", $rand, $rand); - $this->assert_true($photo1->name != $photo2->name); - } - - public function create_photo_with_no_extension_test() { - $root = ORM::factory("item", 1); - try { - photo::create($root, "/tmp", "name", "title", "description"); - $this->assert_false("should fail with an exception"); - } catch (Exception $e) { - // pass - } - } - - public function thumb_url_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - $photo = photo::create($root, DOCROOT . "core/tests/test.jpg", "$rand.jpg", $rand, $rand); - $this->assert_equal("http://./var/thumbs/{$rand}.jpg", $photo->thumb_url()); - } - - public function resize_url_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - $album = album::create($root, $rand, $rand, $rand); - $photo = photo::create($album, DOCROOT . "core/tests/test.jpg", "$rand.jpg", $rand, $rand); - - $this->assert_equal("http://./var/resizes/{$rand}/{$rand}.jpg", $photo->resize_url()); - } - - public function create_photo_shouldnt_allow_names_with_slash_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - try { - $photo = photo::create($root, DOCROOT . "core/tests/test.jpg", "$rand/.jpg", $rand, $rand); - } catch (Exception $e) { - // pass - return; - } - - $this->assert_true(false, "Shouldn't create a photo with / in the name"); - } - - public function create_photo_silently_trims_trailing_periods_test() { - $rand = rand(); - $root = ORM::factory("item", 1); - try { - $photo = photo::create($root, DOCROOT . "core/tests/test.jpg", "$rand.jpg.", $rand, $rand); - } catch (Exception $e) { - $this->assert_equal("@todo NAME_CANNOT_END_IN_PERIOD", $e->getMessage()); - return; - } - - $this->assert_true(false, "Shouldn't create a photo with trailing . in the name"); - } -} diff --git a/core/tests/Photos_Controller_Test.php b/core/tests/Photos_Controller_Test.php deleted file mode 100644 index 71319315..00000000 --- a/core/tests/Photos_Controller_Test.php +++ /dev/null @@ -1,74 +0,0 @@ -_post = $_POST; - } - - public function teardown() { - $_POST = $this->_post; - } - - public function change_photo_test() { - $controller = new Photos_Controller(); - $root = ORM::factory("item", 1); - $photo = photo::create($root, DOCROOT . "core/tests/test.jpg", "test.jpeg", "test", "test"); - $orig_name = $photo->name; - - $_POST["filename"] = "test.jpeg"; - $_POST["name"] = "new name"; - $_POST["title"] = "new title"; - $_POST["description"] = "new description"; - $_POST["csrf"] = access::csrf_token(); - access::allow(group::everybody(), "edit", $root); - - ob_start(); - $controller->_update($photo); - $results = ob_get_contents(); - ob_end_clean(); - - $this->assert_equal( - json_encode(array("result" => "success", - "location" => "http://./index.php/test.jpeg")), - $results); - $this->assert_equal("new title", $photo->title); - $this->assert_equal("new description", $photo->description); - - // We don't change the name, yet. - $this->assert_equal($orig_name, $photo->name); - } - - public function change_photo_no_csrf_fails_test() { - $controller = new Photos_Controller(); - $root = ORM::factory("item", 1); - $photo = photo::create($root, DOCROOT . "core/tests/test.jpg", "test", "test", "test"); - $_POST["name"] = "new name"; - $_POST["title"] = "new title"; - $_POST["description"] = "new description"; - access::allow(group::everybody(), "edit", $root); - - try { - $controller->_update($photo); - $this->assert_true(false, "This should fail"); - } catch (Exception $e) { - // pass - } - } -} diff --git a/core/tests/REST_Controller_Test.php b/core/tests/REST_Controller_Test.php deleted file mode 100644 index 8fb04d86..00000000 --- a/core/tests/REST_Controller_Test.php +++ /dev/null @@ -1,197 +0,0 @@ -_post = $_POST; - $this->mock_controller = new Mock_RESTful_Controller("mock"); - $this->mock_not_loaded_controller = new Mock_RESTful_Controller("mock_not_loaded"); - $_POST = array(); - } - - public function teardown() { - $_POST = $this->_post; - } - - public function dispatch_index_test() { - $_SERVER["REQUEST_METHOD"] = "GET"; - $_POST["_method"] = ""; - $this->mock_controller->__call("index", ""); - $this->assert_equal("index", $this->mock_controller->method_called); - } - - public function dispatch_show_test() { - $_SERVER["REQUEST_METHOD"] = "GET"; - $_POST["_method"] = ""; - $this->mock_controller->__call("3", ""); - $this->assert_equal("show", $this->mock_controller->method_called); - $this->assert_equal("Mock_Model", get_class($this->mock_controller->resource)); - } - - public function dispatch_update_test() { - $_SERVER["REQUEST_METHOD"] = "POST"; - $_POST["_method"] = "PUT"; - $_POST["csrf"] = access::csrf_token(); - $this->mock_controller->__call("3", ""); - $this->assert_equal("update", $this->mock_controller->method_called); - $this->assert_equal("Mock_Model", get_class($this->mock_controller->resource)); - } - - public function dispatch_update_fails_without_csrf_test() { - $_SERVER["REQUEST_METHOD"] = "POST"; - $_POST["_method"] = "PUT"; - try { - $this->mock_controller->__call("3", ""); - $this->assert_false(true, "this should fail with a forbidden exception"); - } catch (Exception $e) { - // pass - } - } - - public function dispatch_delete_test() { - $_SERVER["REQUEST_METHOD"] = "POST"; - $_POST["_method"] = "DELETE"; - $_POST["csrf"] = access::csrf_token(); - $this->mock_controller->__call("3", ""); - $this->assert_equal("delete", $this->mock_controller->method_called); - $this->assert_equal("Mock_Model", get_class($this->mock_controller->resource)); - } - - public function dispatch_delete_fails_without_csrf_test() { - $_SERVER["REQUEST_METHOD"] = "POST"; - $_POST["_method"] = "DELETE"; - try { - $this->mock_controller->__call("3", ""); - $this->assert_false(true, "this should fail with a forbidden exception"); - } catch (Exception $e) { - // pass - } - } - - public function dispatch_404_test() { - /* The dispatcher should throw a 404 if the resource isn't loaded and the method isn't POST. */ - $methods = array( - array("GET", ""), - array("POST", "PUT"), - array("POST", "DELETE")); - - foreach ($methods as $method) { - $_SERVER["REQUEST_METHOD"] = $method[0]; - $_POST["_method"] = $method[1]; - $exception_caught = false; - try { - $this->mock_not_loaded_controller->__call(rand(), ""); - } catch (Kohana_404_Exception $e) { - $exception_caught = true; - } - $this->assert_true($exception_caught, "$method[0], $method[1]"); - } - } - - public function dispatch_create_test() { - $_SERVER["REQUEST_METHOD"] = "POST"; - $_POST["_method"] = ""; - $_POST["csrf"] = access::csrf_token(); - $this->mock_not_loaded_controller->__call("", ""); - $this->assert_equal("create", $this->mock_not_loaded_controller->method_called); - $this->assert_equal( - "Mock_Not_Loaded_Model", get_class($this->mock_not_loaded_controller->resource)); - } - - public function dispatch_create_fails_without_csrf_test() { - $_SERVER["REQUEST_METHOD"] = "POST"; - $_POST["_method"] = ""; - try { - $this->mock_not_loaded_controller->__call("", ""); - $this->assert_false(true, "this should fail with a forbidden exception"); - } catch (Exception $e) { - // pass - } - } - - public function dispatch_form_test_add() { - $this->mock_controller->form_add("args"); - $this->assert_equal("form_add", $this->mock_controller->method_called); - $this->assert_equal("args", $this->mock_controller->resource); - } - - public function dispatch_form_test_edit() { - $this->mock_controller->form_edit("1"); - $this->assert_equal("form_edit", $this->mock_controller->method_called); - $this->assert_equal("Mock_Model", get_class($this->mock_controller->resource)); - } - - public function routes_test() { - $this->assert_equal("mock/form_add/args", router::routed_uri("form/add/mock/args")); - $this->assert_equal("mock/form_edit/args", router::routed_uri("form/edit/mock/args")); - $this->assert_equal(null, router::routed_uri("rest/args")); - } -} - -class Mock_RESTful_Controller extends REST_Controller { - public $method_called; - public $resource; - - public function __construct($type) { - $this->resource_type = $type; - parent::__construct(); - } - - public function _index() { - $this->method_called = "index"; - } - - public function _create($resource) { - $this->method_called = "create"; - $this->resource = $resource; - } - - public function _show($resource) { - $this->method_called = "show"; - $this->resource = $resource; - } - - public function _update($resource) { - $this->method_called = "update"; - $this->resource = $resource; - } - - public function _delete($resource) { - $this->method_called = "delete"; - $this->resource = $resource; - } - - public function _form_add($args) { - $this->method_called = "form_add"; - $this->resource = $args; - } - - public function _form_edit($resource) { - $this->method_called = "form_edit"; - $this->resource = $resource; - } -} - -class Mock_Model { - public $loaded = true; -} - -class Mock_Not_Loaded_Model { - public $loaded = false; -} diff --git a/core/tests/REST_Helper_Test.php b/core/tests/REST_Helper_Test.php deleted file mode 100644 index 1bfc63ab..00000000 --- a/core/tests/REST_Helper_Test.php +++ /dev/null @@ -1,45 +0,0 @@ -_post = $_POST; - } - - public function teardown() { - $_POST = $this->_post; - } - - public function request_method_test() { - foreach (array("GET", "POST") as $method) { - foreach (array("", "PUT", "DELETE") as $tunnel) { - if ($method == "GET") { - $expected = "GET"; - } else { - $expected = $tunnel == "" ? $method : $tunnel; - } - $_SERVER["REQUEST_METHOD"] = $method; - $_POST["_method"] = $tunnel; - - $this->assert_equal(strtolower(rest::request_method()), strtolower($expected), - "Request method: {$method}, tunneled: {$tunnel}"); - } - } - } -} diff --git a/core/tests/Sendmail_Test.php b/core/tests/Sendmail_Test.php deleted file mode 100644 index 64c1fff0..00000000 --- a/core/tests/Sendmail_Test.php +++ /dev/null @@ -1,115 +0,0 @@ -to("receiver@someemail.com") - /* - * @todo figure out why this test fails so badly, when the following - * line is not supplied. It doesn't seem to be set by setup method - * as you would expect. - */ - ->from("from@gallery3.com") - ->subject("Test Email Unit test") - ->message("The mail message body") - ->send() - ->send_text; - - $this->assert_equal($expected, $result); - } - - public function sendmail_reply_to_test() { - $expected = "To: receiver@someemail.com\r\n" . - "From: from@gallery3.com\n" . - "Reply-To: reply-to@gallery3.com\r\n" . - "Subject: Test Email Unit test\r\n\r\n" . - "The mail message body"; - $result = Sendmail_For_Test::factory() - ->to("receiver@someemail.com") - ->subject("Test Email Unit test") - ->reply_to("reply-to@gallery3.com") - ->message("The mail message body") - ->send() - ->send_text; - $this->assert_equal($expected, $result); - } - - public function sendmail_html_message_test() { - $expected = "To: receiver@someemail.com\r\n" . - "From: from@gallery3.com\n" . - "Reply-To: public@gallery3.com\n" . - "MIME-Version: 1.0\n" . - "Content-type: text/html; charset=iso-8859-1\r\n" . - "Subject: Test Email Unit test\r\n\r\n" . - "

This is an html msg

"; - $result = Sendmail_For_Test::factory() - ->to("receiver@someemail.com") - ->subject("Test Email Unit test") - ->header("MIME-Version", "1.0") - ->header("Content-type", "text/html; charset=iso-8859-1") - ->message("

This is an html msg

") - ->send() - ->send_text; - $this->assert_equal($expected, $result); - } - - public function sendmail_wrapped_message_test() { - $expected = "To: receiver@someemail.com\r\n" . - "From: from@gallery3.com\n" . - "Reply-To: public@gallery3.com\r\n" . - "Subject: Test Email Unit test\r\n\r\n" . - "This is a long message that needs to go\n" . - "over forty characters If we get lucky we\n" . - "might make it long enought to wrap a\n" . - "couple of times."; - $result = Sendmail_For_Test::factory() - ->to("receiver@someemail.com") - ->subject("Test Email Unit test") - ->line_length(40) - ->message("This is a long message that needs to go over forty characters " . - "If we get lucky we might make it long enought to wrap a couple " . - "of times.") - ->send() - ->send_text; - $this->assert_equal($expected, $result); - } -} - -class Sendmail_For_Test extends Sendmail { - static function factory() { - return new Sendmail_For_Test(); - } - - public function mail($to, $subject, $message, $headers) { - $this->send_text = "To: $to\r\n{$headers}\r\nSubject: $this->subject\r\n\r\n$message"; - return true; - } -} \ No newline at end of file diff --git a/core/tests/Var_Test.php b/core/tests/Var_Test.php deleted file mode 100644 index 82370631..00000000 --- a/core/tests/Var_Test.php +++ /dev/null @@ -1,49 +0,0 @@ -assert_equal("original value", module::get_var("core", "Parameter")); - - module::set_var("core", "Parameter", "updated value"); - $this->assert_equal("updated value", module::get_var("core", "Parameter")); - } - - public function clear_parameter_test() { - module::set_var("core", "Parameter", "original value"); - $this->assert_equal("original value", module::get_var("core", "Parameter")); - - module::clear_var("core", "Parameter"); - $this->assert_equal(null, module::get_var("core", "Parameter")); - } - - public function incr_parameter_test() { - module::set_var("core", "Parameter", "original value"); - module::incr_var("core", "Parameter"); - $this->assert_equal("1", module::get_var("core", "Parameter")); - - module::set_var("core", "Parameter", "2"); - module::incr_var("core", "Parameter", "9"); - $this->assert_equal("11", module::get_var("core", "Parameter")); - - module::incr_var("core", "NonExistent", "9"); - $this->assert_equal(null, module::get_var("core", "NonExistent")); - } -} \ No newline at end of file diff --git a/core/tests/images/DSC_0003.jpg b/core/tests/images/DSC_0003.jpg deleted file mode 100644 index 5780d9d8..00000000 Binary files a/core/tests/images/DSC_0003.jpg and /dev/null differ diff --git a/core/tests/images/DSC_0005.jpg b/core/tests/images/DSC_0005.jpg deleted file mode 100644 index 4d2b53a9..00000000 Binary files a/core/tests/images/DSC_0005.jpg and /dev/null differ diff --git a/core/tests/images/DSC_0017.jpg b/core/tests/images/DSC_0017.jpg deleted file mode 100644 index b7f7bb90..00000000 Binary files a/core/tests/images/DSC_0017.jpg and /dev/null differ diff --git a/core/tests/images/DSC_0019.jpg b/core/tests/images/DSC_0019.jpg deleted file mode 100644 index 0ce25aa4..00000000 Binary files a/core/tests/images/DSC_0019.jpg and /dev/null differ diff --git a/core/tests/images/DSC_0067.jpg b/core/tests/images/DSC_0067.jpg deleted file mode 100644 index 84f134cb..00000000 Binary files a/core/tests/images/DSC_0067.jpg and /dev/null differ diff --git a/core/tests/images/DSC_0072.jpg b/core/tests/images/DSC_0072.jpg deleted file mode 100644 index dfad82b0..00000000 Binary files a/core/tests/images/DSC_0072.jpg and /dev/null differ diff --git a/core/tests/images/P4050088.jpg b/core/tests/images/P4050088.jpg deleted file mode 100644 index 62f4749d..00000000 Binary files a/core/tests/images/P4050088.jpg and /dev/null differ diff --git a/core/tests/selenium/Add_Album.html b/core/tests/selenium/Add_Album.html deleted file mode 100644 index ccd4d0b7..00000000 --- a/core/tests/selenium/Add_Album.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - -AddAlbum - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddAlbum
open/index.php/albums/1
clicklink=Add album
typenameseleniumtest
typetitleSelenium Test Album
typedescriptionTest
click//button[@type='button']
assertTextPresentSelenium Test Album
- - diff --git a/core/tests/selenium/Add_Comment.html b/core/tests/selenium/Add_Comment.html deleted file mode 100644 index b4b96ed2..00000000 --- a/core/tests/selenium/Add_Comment.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - -Add comment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Add comment
open/index.php/albums/1
clickAndWaitgPhotoId-2
typegAuthorTest
typegEmailtest@gmail.com
typegTextThis is a selenium test comment.
click//button[@type='submit']
assertTextPresentThis is a selenium test comment.
- - diff --git a/core/tests/selenium/Add_Item.html b/core/tests/selenium/Add_Item.html deleted file mode 100644 index 741dff65..00000000 --- a/core/tests/selenium/Add_Item.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - -AddItem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddItem
open/index.php/albums/1
clicklink=Add an item
typenameseleniumitem.jpg
typetitleSelenium Item
typedescriptionTest item
typefile/Users/ckieffer/Sites/gallery3.0/core/tests/images/DSC_0003.jpg
click//button[@type='button']
clicklink=X
assertTextPresentSelenium Item
- - diff --git a/core/tests/selenium/Login.html b/core/tests/selenium/Login.html deleted file mode 100644 index 5e17a3c7..00000000 --- a/core/tests/selenium/Login.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -Login - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Login
open/index.php/albums/1
clickgLoginLink
typegNameadmin
typegPasswordadmin
clickAndWait//button[@type='button']
clickAndWaitgUserProfileLink
- - diff --git a/core/tests/test.jpg b/core/tests/test.jpg deleted file mode 100644 index 1f3525e5..00000000 Binary files a/core/tests/test.jpg and /dev/null differ -- cgit v1.2.3