diff --git a/app/MetadataResolver/NarouResolver.php b/app/MetadataResolver/NarouResolver.php index e018e227..f079b458 100644 --- a/app/MetadataResolver/NarouResolver.php +++ b/app/MetadataResolver/NarouResolver.php @@ -51,8 +51,8 @@ public function resolve(string $url): Metadata // タグ $keywordNodeList = $xpath->query('//th[contains(text(), "キーワード")]/following-sibling::td[1]'); if ($keywordNodeList->length !== 0) { - $keyword = trim($keywordNodeList->item(0)->textContent); - $metadata->tags = explode(' ', $keyword); + $keyword = trim($keywordNodeList->item(0)->textContent); + $metadata->tags = preg_split('/\s+/u', $keyword); } // 作者名 diff --git a/tests/Unit/MetadataResolver/NarouResolverTest.php b/tests/Unit/MetadataResolver/NarouResolverTest.php index 13319a18..29645a99 100644 --- a/tests/Unit/MetadataResolver/NarouResolverTest.php +++ b/tests/Unit/MetadataResolver/NarouResolverTest.php @@ -62,4 +62,19 @@ public function testLongDescriptionNovel() $this->assertSame('https://novel18.syosetu.com/novelview/infotop/ncode/n0477gn/', (string) $this->handler->getLastRequest()->getUri()); } } + + public function testFeaturesInKeyword() + { + $responseText = $this->fetchSnapshot(__DIR__ . '/../../fixture/Narou/testFeaturesInKeyword.html'); + + $this->createResolver(NarouResolver::class, $responseText); + + $metadata = $this->resolver->resolve('https://novel18.syosetu.com/n6404hk/'); + $this->assertEquals('王子繁殖促進計画「王子の性欲を刺激せよ」 ~よってたかって性欲を刺激される小国王子の異世界奮闘記~', $metadata->title); + $this->assertEquals("作者: ひもの\n小国だが王子に転生した俺。 \n意外に甘くない現実に戸惑いつつも、いつかはエロエロハーレムが作れたらいいな、と思っていたが…… \n\n幼馴染が、いとこのお姉ちゃんが、周りの美少女達が、恥じらいながらも一生懸命、俺の性欲を刺激してくる。 \n\nえ? 俺の性欲を刺激するために、国家プロジェクトが立ち上がった?……", $metadata->description); + $this->assertEquals(['残酷な描写あり', '異世界転生', '男主人公', 'ハーレム', '魔法', 'オリジナル戦記', '戦記', '淫語', '羞恥', '美少女', 'イチャラブ', '♡喘ぎ', '孕ませ', '巨乳'], $metadata->tags); + if ($this->shouldUseMock()) { + $this->assertSame('https://novel18.syosetu.com/novelview/infotop/ncode/n6404hk/', (string) $this->handler->getLastRequest()->getUri()); + } + } } diff --git a/tests/fixture/Narou/testFeaturesInKeyword.html b/tests/fixture/Narou/testFeaturesInKeyword.html new file mode 100644 index 00000000..118fb819 --- /dev/null +++ b/tests/fixture/Narou/testFeaturesInKeyword.html @@ -0,0 +1,435 @@ + + + +
+ + +Xブックマークに追加しました
+ ++更新通知 +0件登録中(上限400件) +
+ ++ + +
+ ++カテゴリ + +
+Xブックマークを解除しました。
+エラーが発生しました。
+ +エラーの原因がわからない場合はヘルプセンターをご確認ください。
+N6404HK
+あらすじ | +小国だが王子に転生した俺。 +意外に甘くない現実に戸惑いつつも、いつかはエロエロハーレムが作れたらいいな、と思っていたが…… + +幼馴染が、いとこのお姉ちゃんが、周りの美少女達が、恥じらいながらも一生懸命、俺の性欲を刺激してくる。 + +え? 俺の性欲を刺激するために、国家プロジェクトが立ち上がった? + +――大国目指して内政に戦闘にエロに奮闘する、小国王子リヒトベルトの物語。 + +※ ♡はエロメイン +※ 第四章開始! |
+
---|---|
作者名 | +ひもの + | +
キーワード | ++ +残酷な描写あり 異世界転生 +男主人公 ハーレム 魔法 オリジナル戦記 戦記 淫語 羞恥 美少女 イチャラブ ♡喘ぎ 孕ませ 巨乳 + | +
掲載サイト | +ノクターンノベルズ(男性向け) | +
掲載日 | +2022年 01月10日 20時35分 | +
---|---|
最新掲載日 | +2024年 11月23日 21時00分 | +
感想 | +
+381件
+
+ ※ログイン必須 + |
+
レビュー | ++3件 + | +
ブックマーク登録 | +8,656件 | +
総合評価 | +31,846pt | +
評価ポイント | ++14,534pt + + + | +
誤字報告受付 | +
+受け付けています ※ログイン必須 |
+
開示設定 | +開示されています | +
文字数 | +1,370,741文字 | +