media.entity.test
1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
/**
* @file
* Tests for media entity controllers.
*/
/**
* Test media type creation and management.
*/
class MediaEntityTest extends DrupalWebTestCase {
public static function getInfo() {
return array(
'name' => 'Media entity',
'description' => 'Tests media entity handling',
'group' => 'Media',
'dependencies' => array('ctools'),
);
}
function setUp() {
parent::setUp('media');
// Nice, TDD FTW. #totalsarcasm
variable_set('simpletest_verbose', TRUE);
}
/**
* Test the ability to create and query media items.
*/
function testQueryMedia() {
$text_files = $this->drupalGetTestFiles('text');
$images = $this->drupalGetTestFiles('image');
// Moves serveral images to public://
foreach (array_merge($text_files, $images) as $file) {
$file = file_uri_to_object($file->uri);
file_save($file);
}
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'file');
$query->propertyCondition('uri', 'public://%', 'LIKE');
$result = $query->execute();
$this->assertEqual(count($result['file']), count($images) + count($text_files), "Returned results as expected for like % condition");
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'file');
$query->propertyCondition('uri', '%.jpg', 'LIKE');
$result = $query->execute();
$this->assertEqual(count($result['file']), 2, "Returned 2 results as expected for jpgs");
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'file');
$query->propertyCondition('type', 'image');
$result = $query->execute();
$this->assertEqual(count($result['file']), count($images), "Returned expected results for type query");
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'file');
$query->propertyCondition('uri', 'http://%', 'LIKE');
$result = $query->execute();
$this->assertEqual(count($result), 0, "Got no results for http scheme uris");
}
}