Skip to content
Snippets Groups Projects
Commit 15900137 authored by Patrick Barroca's avatar Patrick Barroca :grin:
Browse files

rel #13283 : ci server does not support yaz-marcdump json output

parent fd4b818f
Branches
Tags
3 merge requests!258Dev/13872 Orphee Allow Hold Available Items,!108Dev#13283 Export Pret Unimarc,!99Dev#13283 Export Pret Unimarc
......@@ -238,9 +238,9 @@ class NoticeStromaeTest extends Storm_Test_ModelTestCase {
$temp_file = tempnam('/tmp', 'UNIMARC');
file_put_contents($temp_file, $unimarc);
exec('yaz-marcdump -o json -f utf8 -t utf8 ' . $temp_file, $output);
exec('yaz-marcdump ' . $temp_file, $output);
$this->_995s = $this->getFieldsFromJson('995', json_decode(implode('', $output)));
$this->_995s = $this->getFieldsFromMarcDump('995', $output);
}
......@@ -264,32 +264,32 @@ class NoticeStromaeTest extends Storm_Test_ModelTestCase {
/** @test */
public function field995DollarHShouldBe00510172() {
$this->assertSame('00510172', $this->getSubfieldFromJson('h', $this->_995s[0]));
$this->assertSame('00510172', $this->getSubfieldFromLine('h', $this->_995s[0]));
}
/** @test */
public function field995Dollar2ShouldBeAsExpected() {
$this->assertSame('[AA][Adulte CEC][0][1][Disponible][0][0][0][0]',
$this->getSubfieldFromJson('2', $this->_995s[0]));
$this->getSubfieldFromLine('2', $this->_995s[0]));
}
protected function getFieldsFromJson($field_name, $json) {
protected function getFieldsFromMarcDump($field_name, $dump) {
$values = [];
foreach ($json->fields as $field)
foreach($field as $name => $value)
if ($field_name == $name)
$values[] = $value;
foreach ($dump as $field)
if ($field_name == substr($field, 0, strlen($field_name)))
$values[] = substr($field, strlen($field_name));
return $values;
}
protected function getSubfieldFromJson($field_name, $json) {
foreach ($json->subfields as $subfield) {
foreach ($subfield as $name => $value)
if ($field_name == $name)
return $value;
protected function getSubfieldFromLine($field_name, $line) {
$parts = explode('$', $line);
foreach($parts as $part) {
$part = trim($part);
if ($field_name == substr($part, 0, strlen($field_name)))
return substr($part, strlen($field_name) + 1);
}
}
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment