type = "album"; $album->parent_id = $parent ? $parent->id : 1; $album->name = "name_$rand"; $album->title = "title_$rand"; return $album; } static function random_album($parent=null) { return test::random_album_unsaved($parent)->save()->reload(); } static function random_photo_unsaved($parent=null) { $rand = rand(); $photo = ORM::factory("item"); $photo->type = "photo"; $photo->parent_id = $parent ? $parent->id : 1; $photo->set_data_file(MODPATH . "gallery/tests/test.jpg"); $photo->name = "name_$rand.jpg"; $photo->title = "title_$rand"; return $photo; } static function random_photo($parent=null) { return test::random_photo_unsaved($parent)->save()->reload(); } static function random_user($password="password") { $rand = "name_" . rand(); return identity::create_user($rand, $rand, $password, "$rand@rand.com"); } static function random_group() { return identity::create_group((string)rand()); } static function random_name($item=null) { $rand = "name_" . rand(); if ($item && $item->is_photo()) { $rand .= ".jpg"; } return $rand; } static function starts_with($outer, $inner) { return strpos($outer, $inner) === 0; } static function call_and_capture($callback) { ob_start(); call_user_func($callback); return ob_get_clean(); } static function random_tag() { $tag = ORM::factory("tag"); $tag->name = (string)rand(); // Reload so that ORM coerces all fields into strings. return $tag->save()->reload(); } }