テストを修正

This commit is contained in:
eai04191 2019-04-30 07:52:45 +09:00
parent a958ccaa08
commit 50ff2efaaa
4 changed files with 2436 additions and 91 deletions

View File

@ -23,6 +23,12 @@ class DLsiteResolver implements Resolver
public function resolve(string $url): Metadata public function resolve(string $url): Metadata
{ {
//スマホページの場合はPCページに正規化
if (strpos($url, '-touch') !== false) {
$url = str_replace('-touch', '', $url);
}
$res = $this->client->get($url); $res = $this->client->get($url);
if ($res->getStatusCode() === 200) { if ($res->getStatusCode() === 200) {
$metadata = $this->ogpResolver->parse($res->getBody()); $metadata = $this->ogpResolver->parse($res->getBody());

View File

@ -33,18 +33,19 @@ class DLsiteResolverTest extends TestCase
} }
} }
public function testProductSP() public function testProductSPLink()
{ {
$responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testProductSP.html'); $responseText = file_get_contents(__DIR__.'/../../fixture/DLsite/testProduct.html');
// SP版touchのURLのテストだがリゾルバ側でURLから-touchを削除してPC版を取得するので、PC版の内容を使用する
$this->createResolver(DLsiteResolver::class, $responseText); $this->createResolver(DLsiteResolver::class, $responseText);
$metadata = $this->resolver->resolve('https://www.dlsite.com/home/work/=/product_id/RJ234446.html'); $metadata = $this->resolver->resolve('https://www.dlsite.com/maniax-touch/work/=/product_id/RJ171695.html');
$this->assertEquals('【大人向け耳かき】道草屋 はこべら5 時計修理のはこべらさん。他【汗の匂い】', $metadata->title); $this->assertEquals('【骨伝導風】道草屋 たびらこ-一緒にはみがき【耳かき&はみがき】', $metadata->title);
$this->assertStringEndsWith('夏の終わり、二人で遠くの花火を眺めます。耳かきの他、クラシックシェービング、氷を含んだあまがみ、冷紅茶、ジャズ、時計の修理、それから大人向けの汗の匂い。色々な事のある、二泊三日の田舎宿音声です。', $metadata->description); $this->assertStringEndsWith('少しお母さんっぽい店員さんに、歯磨きからおやすみまでお世話されます。はみがきで興奮しちゃった旦那様のも、しっかりお世話してくれます。歯磨き音は特殊なマイクを使用、骨伝導風ハイレゾバイノーラル音声です。', $metadata->description);
$this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ235000/RJ234446_img_main.jpg', $metadata->image); $this->assertEquals('https://img.dlsite.jp/modpub/images2/work/doujin/RJ172000/RJ171695_img_main.jpg', $metadata->image);
if ($this->shouldUseMock()) { if ($this->shouldUseMock()) {
$this->assertSame('https://www.dlsite.com/home/work/=/product_id/RJ234446.html', (string) $this->handler->getLastRequest()->getUri()); $this->assertSame('https://www.dlsite.com/maniax/work/=/product_id/RJ171695.html', (string) $this->handler->getLastRequest()->getUri());
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,40 +0,0 @@
<!DOCTYPE html>
<html lang="ja" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:mixi="http://mixi-platform.com/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" >
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta name="google-site-verification" content="S2Jzwn_Dm4hGoyTfPnxEUSKnbHSuT73N6SZbTanWbEM">
<link rel="apple-touch-icon" href="/images/web/common/apple_touch_icon_57x57.png">
<link rel="apple-touch-icon" sizes="72x72" href="/images/web/common/apple_touch_icon_72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/images/web/common/apple_touch_icon_76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/images/web/common/apple_touch_icon_114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/images/web/common/apple_touch_icon_120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/images/web/common/apple_touch_icon_144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/images/web/common/apple_touch_icon_152x152.png">
<meta name="msapplication-config" content="/browserconfig.xml" />
<link rel="shortcut icon" href="/images/web/common/favicon.ico">
<link rel="canonical" href="https://www.dlsite.com/maniax/work/=/product_id/RJ234446.html" />
<link rel="alternate" hreflang="ja" href="https://www.dlsite.com/maniax/work/=/product_id/RJ234446.html" />
<link rel="alternate" hreflang="en" href="https://www.dlsite.com/ecchi-eng/work/=/product_id/RE234446.html" /> <meta name="description" content="夏の終わり、二人で遠くの花火を眺めます。耳かきの他、クラシックシェービング、氷を含んだあまがみ、冷紅茶、ジャズ、時計の修理、それから大人向けの汗の匂い。色々な事のある、二泊三日の田舎宿音声です。「DLsite 同人 - R18」は同人誌・同人ゲーム・同人音声のダウンロードショップ。お気に入りの作品をすぐダウンロードできてすぐ楽しめる毎日更新しているのであなたが探している作品にきっと出会えます。国内最大級の二次元総合ダウンロードショップ「DLsite」">
<title>【大人向け耳かき】道草屋 はこべら5 時計修理のはこべらさん。他【汗の匂い】 [桃色CODE] | DLsite 同人 - R18</title>
<meta property="og:title" content="【大人向け耳かき】道草屋 はこべら5 時計修理のはこべらさん。他【汗の匂い】 [桃色CODE] | DLsite" />
<meta property="og:type" content="website" />
<meta property="og:description" content="夏の終わり、二人で遠くの花火を眺めます。耳かきの他、クラシックシェービング、氷を含んだあまがみ、冷紅茶、ジャズ、時計の修理、それから大人向けの汗の匂い。色々な事のある、二泊三日の田舎宿音声です。「DLsite 同人 - R18」は同人誌・同人ゲーム・同人音声のダウンロードショップ。お気に入りの作品をすぐダウンロードできてすぐ楽しめる毎日更新しているのであなたが探している作品にきっと出会えます。国内最大級の二次元総合ダウンロードショップ「DLsite」" />
<meta property="og:url" content="https://www.dlsite.com/maniax-touch/work/=/product_id/RJ234446.html" />
<meta property="og:image" content="https://img.dlsite.jp/modpub/images2/work/doujin/RJ235000/RJ234446_img_sam.jpg" />
<meta property="og:site_name" content="DLsite" />
<meta property="fb:app_id" content="226115600829997" />
<meta property="mixi:content-rating" content="1" />
</head>
<body></body>
</html>