Skip to content

Commit 6850aed

Browse files
committed
Fix crash when 250 is missing
1 parent ebd60ce commit 6850aed

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

src/Fields/Edition.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class Edition extends Field implements FieldInterface
88
{
99
public static function get(Record $record)
1010
{
11-
foreach ($record->query('250') as $field) {
11+
foreach ($record->query('250{$a}') as $field) {
1212
return new static($field->getField());
1313
}
1414
}

tests/EditionTest.php

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
namespace Tests;
4+
5+
use Scriptotek\Marc\Fields\Field;
6+
use Scriptotek\Marc\Record;
7+
use Scriptotek\Marc\QueryResult;
8+
9+
class EditionTest extends TestCase
10+
{
11+
protected $record;
12+
13+
public function testSimple250()
14+
{
15+
$record = Record::fromString('<?xml version="1.0" encoding="UTF-8" ?>
16+
<record xmlns="http://www.loc.gov/MARC21/slim">
17+
<leader>99999cam a2299999 u 4500</leader>
18+
<controlfield tag="001">98218834x</controlfield>
19+
<datafield tag="250" ind1=" " ind2=" ">
20+
<subfield code="a">2nd ed. </subfield>
21+
</datafield>
22+
</record>');
23+
24+
$this->assertEquals('2nd ed.', $record->edition);
25+
}
26+
27+
public function testMissingA()
28+
{
29+
$record = Record::fromString('<?xml version="1.0" encoding="UTF-8" ?>
30+
<record xmlns="http://www.loc.gov/MARC21/slim">
31+
<leader>99999cam a2299999 u 4500</leader>
32+
<controlfield tag="001">98218834x</controlfield>
33+
<datafield tag="250" ind1=" " ind2=" ">
34+
<subfield code="b">2nd ed. </subfield>
35+
</datafield>
36+
</record>');
37+
38+
$this->assertNull($record->edition);
39+
}
40+
}

0 commit comments

Comments
 (0)