author | ymh <ymh.work@gmail.com> |
Sat, 28 May 2016 11:49:38 +0200 | |
changeset 162 | a6cf5a06f02d |
child 163 | 59c68fc4848e |
permissions | -rw-r--r-- |
162
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
<?php |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
use Mockery as m; |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
use CorpusParole\Models\Document; |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
/** |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
* |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
*/ |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
class TranscriptConverterBaseTest extends TestCase { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
const TEST_DOC_BASE = "crdo-UVE_MOCIKA"; |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
public function setUp() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
parent::setup(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
$graphContent = sprintf(file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . self::TEST_DOC_BASE.".ttl"), config('corpusparole.corpus_doc_id_base_uri'), config('corpusparole.corpus_id_scheme')); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
$this->graph = new EasyRdf\Graph(config('corpusparole.corpus_doc_id_base_uri')."crdo-UVE_MOCIKA_SOUND", $graphContent); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
$this->doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-UVE_MOCIKA_SOUND", $this->graph); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
$this->transcriptSource = simplexml_load_file(__DIR__ . DIRECTORY_SEPARATOR . self::TEST_DOC_BASE.".xml"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
public function getMockConverter(...$contructorArgs) { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
return m::mock("CorpusParole\Libraries\Transcript\TranscriptConverterBase", $contructorArgs) |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
->shouldReceive('parseSource') |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
->andReturn(null) |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
->shouldReceive('buildAnnotations') |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
->andReturn([]); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
public function testConstructor() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
$converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
$json = $converter->convertToJson(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
$this->assertNotnull($json); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
public function testHeaderMeta() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
$datetime = (new DateTime())->format(DateTime::ATOM); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
$converter = $this->getMockConverter($this->doc, $this->transcriptSource, $datetime)->getMock()->makePartial(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
$resJson = $converter->convertTojson(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
$this->assertArrayHasKey('format', $resJson, 'Must have format key'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
$this->assertEquals('http://advene.org/ns/cinelab/', $resJson['format'], 'Format key must be http://advene.org/ns/cinelab/'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
$this->assertArrayHasKey('@context', $resJson, 'Must have @context key'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
$this->assertEquals( |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
[ |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
"dc" => "http://purl.org/dc/elements/1.1/", |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
"corpus" => "http://corpusdelaparole.huma-num.fr/ns/corpus#" |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
], |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
$resJson['@context'], |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
"array must contains dc and corpus declaration" |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
$this->assertArrayHasKey('meta', $resJson, 'Must have meta declaration'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
$meta = $resJson['meta']; |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
$this->assertTrue(is_array($meta), 'meta is an array'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
$this->assertArrayHasKey('dc:creator', $meta, "meta must have dc:creator key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
$this->assertEquals(config('corpusparole.transcript_default_creator'), $meta['dc:creator'], "dc:creator must be ".config('corpusparole.transcript_default_creator')); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
$this->assertArrayHasKey('dc:contributor', $meta, "meta must have dc:contributor key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
$this->assertEquals(config('corpusparole.transcript_default_creator'), $meta['dc:contributor'], "dc:contributor must be ".config('corpusparole.transcript_default_creator')); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
$this->assertArrayHasKey('dc:created', $meta, "meta must have dc:created key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
$this->assertEquals($datetime, $meta["dc:created"], "meta created time mus be $datetime"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
$this->assertArrayHasKey('dc:modified', $meta, "meta must have dc:modified key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
$this->assertEquals($datetime, $meta["dc:modified"], "meta modified time mus be $datetime"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
$this->assertArrayHasKey('dc:title', $meta, "meta must have dc:title key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
$this->assertTrue(is_array($meta['dc:title']), 'meta title is an array'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
$this->assertCount(2, $meta['dc:title'], 'meta title array has 2 elements'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
$this->assertArrayHasKey('@language', $meta['dc:title'], "meta title must have @language key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
$this->assertArrayHasKey('@value', $meta['dc:title'], "meta title must have @value key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
$this->assertEquals('en', $meta['dc:title']['@language'], "meta title language must be en"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
$this->assertEquals('The two hermit crabs and the coconut crab', $meta['dc:title']['@value'], "meta title value must be the Two hermit crabs and the coconut crab"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
public function testHeaderMetaTitleOverrideString() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
$converter = $this->getMockConverter($this->doc, $this->transcriptSource)->shouldReceive("getSourceTitle")->andReturn("The two hermit crabs and the coconut crab")->getMock()->makePartial(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
$resJson = $converter->convertTojson(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
78 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
79 |
$meta = $resJson['meta']; |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
$this->assertArrayHasKey('dc:title', $meta, "meta must have dc:title key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
$this->assertTrue(is_string($meta['dc:title']), 'meta title is a string'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
82 |
$this->assertEquals('The two hermit crabs and the coconut crab', $meta['dc:title'], "meta title value must be the Two hermit crabs and the coconut crab"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
83 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
84 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
85 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
86 |
public function testHeaderMetaTitleOverrideLanguageMap() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
87 |
$converter = $this->getMockConverter($this->doc, $this->transcriptSource)->shouldReceive("getSourceTitle")->andReturn(['en' => "The two hermit crabs and the coconut crab", "fr" => 'Les deux bernard-l\'hermite et le crabe de cocotier'])->getMock()->makePartial(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
88 |
$resJson = $converter->convertTojson(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
89 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
90 |
$meta = $resJson['meta']; |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
91 |
$this->assertArrayHasKey('dc:title', $meta, "meta must have dc:title key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
92 |
$this->assertTrue(is_array($meta['dc:title']), 'meta title is an array'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
93 |
$this->assertCount(2, $meta['dc:title'], "title must be an array of size 2"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
94 |
$this->assertEquals(["@language" => 'en', '@value' => 'The two hermit crabs and the coconut crab'], $meta['dc:title'][0], "meta title value must be the Two hermit crabs and the coconut crab"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
95 |
$this->assertEquals(["@language" => 'fr', '@value' => 'Les deux bernard-l\'hermite et le crabe de cocotier'], $meta['dc:title'][1], "meta title value must be the Les deux bernard-l\'hermite et le crabe de cocotier"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
96 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
97 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
98 |
public function testMedias() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
99 |
$converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
100 |
$resJson = $converter->convertTojson(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
101 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
102 |
$this->assertArrayHasKey('medias', $resJson, "Must have a medias field"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
103 |
$this->assertTrue(is_array($resJson['medias']), 'media is an array'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
104 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
105 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
106 |
public function testMediasContent() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
107 |
$converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
108 |
$resJson = $converter->convertTojson(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
109 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
110 |
$medias = $resJson['medias']; |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
111 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
112 |
$this->assertCount(3, $medias, "Should have 3 media"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
113 |
$this->assertCount(3, array_filter($medias, function($m) { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
114 |
return array_key_exists('meta', $m) && |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
115 |
array_key_exists('url', $m) && |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
116 |
array_key_exists('origin', $m) && |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
117 |
array_key_exists('unit', $m) && |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
118 |
array_key_exists('id', $m) ; }), "all media must have url, id, origin, unit, meta key"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
119 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
120 |
$this->assertCount(1, array_filter($medias, function($m) { return array_key_exists('corpus:master', $m['meta'])?$m['meta']['corpus:master']:false; }), "should have at least 1 master"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
121 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
122 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
123 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
124 |
public function testMediasContentDetail() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
125 |
$converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
126 |
$resJson = $converter->convertTojson(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
127 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
128 |
$medias = $resJson['medias']; |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
129 |
foreach($medias as $m) { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
130 |
$this->assertEquals(0, $m['origin'], "Origin must be 0"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
131 |
$this->assertEquals('ms', $m['unit'], "unit must be ms"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
132 |
$this->assertStringStartsWith('http', $m['url'], "urls must be string and start with http"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
133 |
$this->assertRegExp('/^11280\\.100\\/crdo-UVE_MOCIKA_SOUND_m\d+$/', $m['id'], "id must start with 11280.100\/crdo-UVE_MOCIKA_SOUND_m"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
134 |
$this->assertArrayHasKey('meta', $m, "Media def must have a meta"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
135 |
$mediaMeta = $m['meta']; |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
136 |
$this->assertArrayHasKey('dc:duration', $mediaMeta, "media meta must have duration"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
137 |
$this->assertEquals(155000, $mediaMeta['dc:duration'], "media meta duration is 1555000 ms"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
138 |
$this->assertArrayHasKey('dc:title', $mediaMeta, "Media meta mus have title"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
139 |
$this->assertEquals(["@language" => 'en', "@value" => "The two hermit crabs and the coconut crab"], $mediaMeta['dc:title'], "media meta title is ..."); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
140 |
$this->assertArrayHasKey('dc:format', $mediaMeta, 'media meta has dc:format'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
141 |
$this->assertStringStartsWith('audio/', $mediaMeta['dc:format'], "media meta dc:format starts with audio"); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
142 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
143 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
144 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
145 |
public function testOtherNodes() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
146 |
$converter = $this->getMockConverter($this->doc, $this->transcriptSource)->getMock()->makePartial(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
147 |
$resJson = $converter->convertTojson(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
148 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
149 |
$this->assertArrayHasKey('resources', $resJson, 'res must have resources'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
150 |
$this->assertEquals([], $resJson['resources'], 'Resources must be empty array'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
151 |
$this->assertArrayHasKey('lists', $resJson, 'res must have lists'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
152 |
$this->assertEquals([], $resJson['lists'], 'Lists must be empty array'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
153 |
$this->assertArrayHasKey('annotation-types', $resJson, 'res must have annotation-types'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
154 |
$this->assertEquals([], $resJson['annotation-types'], 'Annotation types must be empty array'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
155 |
$this->assertArrayHasKey('annotations', $resJson, 'res must have annotations'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
156 |
$this->assertEquals([], $resJson['annotations'], 'Annotations must be empty array'); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
157 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
158 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
159 |
public function tearDown() { |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
160 |
m::close(); |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
161 |
} |
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
162 |
|
a6cf5a06f02d
add Transcript converters libraries + test
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
163 |
} |