diff --git a/app/MetadataResolver/CienResolver.php b/app/MetadataResolver/CienResolver.php index eb5c1b4..a7d9d67 100644 --- a/app/MetadataResolver/CienResolver.php +++ b/app/MetadataResolver/CienResolver.php @@ -25,7 +25,7 @@ class CienResolver extends MetadataResolver public function resolve(string $url): Metadata { $res = $this->client->get($url); - $metadata = $this->ogpResolver->parse($res->getBody()); + $metadata = $this->ogpResolver->parse((string) $res->getBody()); // 画像URLから有効期限の起点を拾う parse_str(parse_url($metadata->image, PHP_URL_QUERY), $params); diff --git a/tests/Unit/MetadataResolver/CienResolverTest.php b/tests/Unit/MetadataResolver/CienResolverTest.php new file mode 100644 index 0000000..ca6f8d1 --- /dev/null +++ b/tests/Unit/MetadataResolver/CienResolverTest.php @@ -0,0 +1,48 @@ +shouldUseMock()) { + sleep(1); + } + } + + public function test() + { + $responseText = file_get_contents(__DIR__ . '/../../fixture/Cien/test.html'); + + $this->createResolver(CienResolver::class, $responseText); + + $metadata = $this->resolver->resolve('https://ci-en.dlsite.com/creator/2462/article/87502'); + $this->assertSame('進捗とボツ立ち絵', $metadata->title); + $this->assertSame('ドット製2D ACTを製作しています。' . PHP_EOL . '恐ろしい存在に襲われる絶望感や、被虐的な官能がテーマです。', $metadata->description); + $this->assertStringStartsWith('https://media.ci-en.jp/private/attachment/creator/00002462/a7afd3b02a6d1caa6afe6a3bf5550fb6a42aefba686f17a0a2f63c97fd6867ab/image-800.jpg?px-time=', $metadata->image); + if ($this->shouldUseMock()) { + $this->assertSame('https://media.ci-en.jp/private/attachment/creator/00002462/a7afd3b02a6d1caa6afe6a3bf5550fb6a42aefba686f17a0a2f63c97fd6867ab/image-800.jpg?px-time=1568231879&px-hash=70c57e9a73d5afb4ac5363d1f37a851af8e0cb1f', $metadata->image); + $this->assertSame(1568235479, $metadata->expires_at->timestamp); + $this->assertSame('https://ci-en.dlsite.com/creator/2462/article/87502', (string) $this->handler->getLastRequest()->getUri()); + } + } + + public function testWithNoTimestamp() + { + $responseText = file_get_contents(__DIR__ . '/../../fixture/Cien/testWithNoTimestamp.html'); + $this->createResolver(CienResolver::class, $responseText); + + $this->expectException(\RuntimeException::class); + $this->expectExceptionMessage('Parameter "px-time" not found. Image=https://ci-en.dlsite.com/assets/img/common/logo_Ci-en_R18.svg Source=https://ci-en.dlsite.com/'); + + $this->resolver->resolve('https://ci-en.dlsite.com/'); + } +} diff --git a/tests/fixture/Cien/test.html b/tests/fixture/Cien/test.html new file mode 100644 index 0000000..04f73fa --- /dev/null +++ b/tests/fixture/Cien/test.html @@ -0,0 +1,678 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 進捗とボツ立ち絵 - ねんない5 - Ci-en + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + + + + + + +
+ + +
+
+
+
+
+

ねんない5さんをフォローして、最新情報をチェックしよう!

+ マイページへ +

Ci-enはクリエイターに対して、金銭的な支援を送ることができるサービスです。

+
+
+
+ + +
+
+
+ + + +
+ +
+
+ +
+
+
+ + +
+ +
+ + +
+ + + + + +
+ + ねんない5 + + + +
+
+ +
+

進捗とボツ立ち絵

+
+

+
+

今日のサムネイルはストアページに掲載する予定のキャラクター紹介画像です。

+

ドットでない解像度の高いイラストは時間も体力も精神力もかかるので、こういうのを行うタスクを開発終盤に残さないでよかったと本気で思っています。

+




【作業進捗】

+

現在は引き続き、音入れ・敵の調整・やられ演出の設定を行っています。
+バグもよくみつかります。

+

みつかるバグはいいバグです。

+


◆完了したステージ
+・森
+・大樹
+・砦
+・廃村

+

◆まだ
+・下水←着手中
+・聖堂

+

下水は残すところボスのみですが、ボスの動きにやや大きめの調整が必要で、そこで少し時間を使っています。

+

森~廃村ステージまではずっと1日1ステージ単位でやってきましたが、さすがにちょっとペースが早すぎて消耗してきたので、少し速度を落としているというのもあります。

+





◆ボツの立ち絵

+

最近は開発も終盤なので、お見せできる絵的な進捗が少なかったと思います。
+おそらくボツになる立ち絵が出てきましたのでそれを掲載させて頂きます。

+

ネタバレではないと思いますが、一応エロなので下に置きます。

+

お題箱の下記に掲載します。

+ +
+
フォロワー以上限定無料
+
+ + +

開発に関する記事の観覧を行えます。

+
+
無料
+ +
+
+
+
+
+ +
+
\いいね・ツイートで応援!/
+ +
+ + + +
+ + + + + +
+ + + +
+
+ + + + + + diff --git a/tests/fixture/Cien/testWithNoTimestamp.html b/tests/fixture/Cien/testWithNoTimestamp.html new file mode 100644 index 0000000..6d7b804 --- /dev/null +++ b/tests/fixture/Cien/testWithNoTimestamp.html @@ -0,0 +1,602 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 好きの気持ちは、カタチで伝えよう。 - Ci-en + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + + + + + + +
+ + +
+
+
+
+
+
+

+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+

+
+

新しいものを作るのは、簡単なことではありません。思いを形にするには時間と手間、そして資金が必要です。

+

Ci-enで好きなクリエイターを支援すれば、その収益を創作活動に活かすことができるようになります。

+

クリエイターも支援者も、誰もが創作を楽しめる世界に参加してみませんか?

+
+ + +
+ + + +
+
+
+ +
+ + +
+
+
+ +
+
+
+
+ +
+
+
ONEONE1
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
同人サークルGyu!
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
クリメニア
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
Hypnotic Yanh
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
シロクマの嫁(伊ヶ崎綾香)
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
鉱油/73号坑道
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
ぽいずん
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
あいすシチュー
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
みこにそみ
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
D-LIS-ディーリス
+
+ +
+
+ +
+
+
+ + + +
+
+ +
+ +
+ +
+
+
+

DLsiteアカウントをお持ちの方はログインできます。

+ +

株式会社エイシスが運営しているサービスをDLsiteアカウント一つでご利用いただけます。

+
+
+
+ +
+
+
+ + + + + +