From f5673c69fd0622a9dfd0cf655dc95bd9abb63f3f Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Thu, 27 Jul 2023 01:43:54 +0200 Subject: [PATCH] Allow https links to the library of congress subject headings --- src/enums/MDNodaRepository.php | 5 ++++- tests/MDNodaRepositoryTest.php | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/enums/MDNodaRepository.php b/src/enums/MDNodaRepository.php index 699c554..97a05b9 100644 --- a/src/enums/MDNodaRepository.php +++ b/src/enums/MDNodaRepository.php @@ -353,7 +353,10 @@ enum MDNodaRepository implements MDValueEnumInterface, JsonSerializable { private static function validateLcshId(string $id):string|false { if (filter_var($id, FILTER_VALIDATE_URL) !== false) { - $id = strtr($id, ['http://id.loc.gov/authorities/names/' => '']); + $id = strtr($id, [ + 'http://id.loc.gov/authorities/names/' => '', + 'https://id.loc.gov/authorities/names/' => '', + ]); } if (substr($id, 0, 2) !== 'sh') { diff --git a/tests/MDNodaRepositoryTest.php b/tests/MDNodaRepositoryTest.php index 02d66f9..fe36ce9 100644 --- a/tests/MDNodaRepositoryTest.php +++ b/tests/MDNodaRepositoryTest.php @@ -40,9 +40,9 @@ final class MDNodaRepositoryTest extends TestCase { self::assertNotFalse(MDNodaRepository::loc->validateId("n2022014604")); - self::assertNotFalse(MDNodaRepository::loc->validateId("https://id.loc.gov/authorities/names/n2022014604")); - self::assertNotFalse(MDNodaRepository::loc->validateId("http://id.loc.gov/authorities/names/n2022014604")); - self::assertNotFalse(MDNodaRepository::loc->validateId("n2022014604")); + self::assertNotFalse(MDNodaRepository::lcsh->validateId("https://id.loc.gov/authorities/names/sh2022014604")); + self::assertNotFalse(MDNodaRepository::lcsh->validateId("http://id.loc.gov/authorities/names/sh2022014604")); + self::assertNotFalse(MDNodaRepository::lcsh->validateId("sh2022014604")); } }