class ImageGalleryTest in Image 6
Same name and namespace in other branches
- 7 contrib/image_gallery/tests/image_gallery.test \ImageGalleryTest
Hierarchy
- class \ImageGalleryTest extends \DrupalTestCase
Expanded class hierarchy of ImageGalleryTest
File
- contrib/
image_gallery/ tests/ image_gallery.test, line 3
View source
class ImageGalleryTest extends DrupalTestCase {
protected $web_user;
public static function getInfo() {
return array(
'name' => 'Image Gallery tests',
'description' => 'Test Image Gallery module functionality.',
'group' => 'Image',
);
}
function setUp() {
parent::setUp();
// User to create image galleries.
$this->web_user = $this
->drupalCreateUserRolePerm(array(
'create images',
'view original images',
'edit own images',
'edit any images',
'administer image galleries',
));
$this
->drupalGet('logout');
$this
->drupalLoginUser($this->web_user);
}
function testBasic() {
$galleries_count = 2;
$images_count = 5;
$galleries = array();
$images = array();
$this
->drupalVariableSet('image_images_per_page', $images_count);
$vid = _image_gallery_get_vid();
// Create several galleries.
for ($i = 0; $i < $galleries_count; $i++) {
$galleries[] = $this
->createGallery();
}
// Create images for galleries.
$images_misc = file_scan_directory('misc', '.png');
shuffle($images_misc);
$images_files = array_slice($images_misc, 0, $images_count);
for ($i = 0; $i < $images_count; $i++) {
$tid = $galleries[array_rand($galleries)];
$edit = array(
'taxonomy[' . $vid . ']' => $tid,
'files[image]' => realpath($images_files[$i]->filename),
);
$images[] = array(
'tid' => $tid,
'node' => $this
->createImage($edit),
);
}
// Test view the gallery.
foreach ($galleries as $tid) {
$this
->drupalGet('image/tid/' . $tid);
foreach ($images as $image) {
if ($image['tid'] == $tid) {
$this
->assertWantedRaw($image['node']->title, 'Gallery ' . $tid . ': image ' . $image['node']->title . ' displayed. %s');
}
else {
$this
->assertNoUnwantedRaw($image['node']->title, 'Gallery ' . $tid . ': image ' . $images['node']->title . ' not displayed. %s');
}
}
}
// Delete the gallery.
// This don't work, so use general taxonomy function:
// $this->drupalPost('admin/content/image/edit/' . $terms[0]->tid, array(), 'Delete');
foreach ($galleries as $tid) {
taxonomy_del_term($tid);
}
}
function createGallery($edit = array()) {
$defaults = array(
'name' => $this
->randomName(),
'parent[0]' => 0,
);
$edit = $edit + $defaults;
$this
->drupalPost('admin/content/image/add', $edit, 'Submit');
$this
->assertWantedRaw(t('Created new gallery %term.', array(
'%term' => $edit['name'],
)), 'Image gallery created. %s');
$terms = taxonomy_get_term_by_name($edit['name']);
return $terms[0]->tid;
}
function createImage($edit = array()) {
$defaults = array(
'title' => $this
->randomName(),
'body' => $this
->randomName(),
'files[image]' => realpath('misc' . DIRECTORY_SEPARATOR . 'druplicon.png'),
);
$edit = $edit + $defaults;
$this
->drupalPost('node/add/image', $edit, 'Save');
$this
->assertWantedRaw(t('@type %title has been created.', array(
'@type' => 'Image',
'%title' => $edit['title'],
)), 'Image created. %s');
if ($node = node_load(array(
'title' => $edit['title'],
))) {
$this
->assertNotNull($node, 'Image found in database. %s');
return $node;
}
return FALSE;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ImageGalleryTest:: |
protected | property | ||
ImageGalleryTest:: |
function | |||
ImageGalleryTest:: |
function | |||
ImageGalleryTest:: |
public static | function | ||
ImageGalleryTest:: |
function | |||
ImageGalleryTest:: |
function |