--- a/server/src/tests/Models/DocumentTest.php Thu Jun 02 18:16:17 2016 +0200
+++ b/server/src/tests/Models/DocumentTest.php Thu Jun 02 18:24:19 2016 +0200
@@ -156,47 +156,37 @@
public function testMediaArray() {
$doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->graph);
- $this->assertCount(4, $doc->getMediaArray(), "Media array must be of size 4");
+ $this->assertCount(3, $doc->getMediaArray(), "Media array must be of size 3");
//print_r($doc->getMediaArray());
- foreach($doc->getMediaArray() as $url => $media) {
- $this->assertArrayHasKey('format', $media, "media has 'format key'");
- $this->assertArrayHasKey('url', $media, "media has url");
- $this->assertCount(5, $media, "media is a 4 element array");
- $this->assertArrayHasKey('extent', $media, "media has extent");
- $this->assertArrayHasKey('extent_ms', $media, "media has extent_ms");
- $this->assertArrayHasKey('master', $media, "media has master");
+ foreach($doc->getMediaArray() as $media) {
+ $this->assertInstanceOf('CorpusParole\Models\MediaResource', $media, "media msute of type MediaResource");
+ // $this->assertArrayHasKey('format', $media, "media has 'format key'");
+ // $this->assertArrayHasKey('url', $media, "media has url");
+ // $this->assertCount(5, $media, "media is a 4 element array");
+ // $this->assertArrayHasKey('extent', $media, "media has extent");
+ // $this->assertArrayHasKey('extent_ms', $media, "media has extent_ms");
+ // $this->assertArrayHasKey('master', $media, "media has master");
- $this->assertEquals($media['url'], $url);
+ //$this->assertEquals($media['url'], $url);
$this->assertContains(
- $media['url'],
+ $media->getUrl(),
[ "http://cocoon.huma-num.fr/data/cfpp2000/Ozgur_Kilic_H_32_alii_3e-2.wav",
"http://cocoon.huma-num.fr/data/cfpp2000/Ozgur_Kilic_H_32_alii_3e-2.mp3",
- "http://cocoon.huma-num.fr/exist/crdo/cfpp2000/fra/Ozgur_Kilic_H_32_alii_3e-2.xml",
"http://cocoon.huma-num.fr/data/archi/masters/372593.wav"
]
);
- if($url === "http://cocoon.huma-num.fr/data/archi/masters/372593.wav") {
- $this->assertEquals('audio/x-wav', $media['format']);
- $this->assertTrue($media['master'] === true, "should be master");
+ if($media->getUrl() === "http://cocoon.huma-num.fr/data/archi/masters/372593.wav") {
+ $this->assertEquals('audio/x-wav', $media->getFormat());
+ $this->assertTrue($media->isMaster() === true, "should be master");
}
else {
- $this->assertTrue($media['master'] === false, "should not be master");
+ $this->assertTrue($media->isMaster() === false, "should not be master");
}
- if( $url === "http://cocoon.huma-num.fr/data/archi/masters/372593.wav" ||
- $url === "http://cocoon.huma-num.fr/data/cfpp2000/Ozgur_Kilic_H_32_alii_3e-2.mp3" ||
- $url === "http://cocoon.huma-num.fr/data/cfpp2000/Ozgur_Kilic_H_32_alii_3e-2.wav" ) {
- $this->assertEquals("PT48M26S", $media['extent'], "extent is PT48M26S");
- $this->assertGreaterThan(0, $media['extent_ms'], "extent_ms must be > 0");
- $this->assertStringStartsWith('audio/', $media['format']);
- }
- else {
- $this->assertNull($media['extent'], "no media extent");
- $this->assertNull($media['extent_ms'], "extend in ms is null");
- $this->assertStringStartsWith('application/', $media['format']);
- }
-
+ $this->assertEquals("PT48M26S", $media->getExtent(), "extent is PT48M26S");
+ $this->assertGreaterThan(0, $media->getExtentMs(), "extent_ms must be > 0");
+ $this->assertStringStartsWith('audio/', $media->getFormat());
}
}
@@ -499,5 +489,22 @@
$this->assertEmpty($newSubjects, "all subjects must have been removed");
}
+ //TODO: test null transcript + null media array
+ public function testJsonSerialize() {
+ $doc = new Document(config('corpusparole.corpus_doc_id_base_uri')."crdo-CFPP2000_35_SOUND", $this->graph);
+
+ $json = $doc->jsonSerialize();
+
+ $this->assertTrue(is_array($json), 'Returned json must be an array');
+ $this->assertEquals(
+ ["id", "uri", "title", "language", "modified", "issued", "publishers", "contributors", "subjects", "transcript", "mediaArray"],
+ array_keys($json)
+ );
+ $this->assertEquals(sprintf('%1$s/crdo-CFPP2000_35_SOUNDid', config('corpusparole.handle_prefix')), $json['id']);
+ $this->assertTrue(is_array($json['transcript']));
+ $this->assertTrue(is_array($json['mediaArray']));
+
+ }
+
}