-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QuestionDialogの文字色を修正、StorybookのVRTを改善 #2314
QuestionDialogの文字色を修正、StorybookのVRTを改善 #2314
Conversation
[update snapshots]
[update snapshots]
[update snapshots]
[update snapshots]
[update snapshots]
[update snapshots]
[update snapshots]
[update snapshots]
[update snapshots]
[update snapshots]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
良さそう!!!
ちょっとまだ全部見切ってないのですが、一旦コメントまで!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ほぼLGTMです!!!
主に案内周りなど、ちょっとしたメンテナンス性向上のためのコメントをいっぱいしてしまいました。
面倒だったらこっちに丸投げしちゃっていただければ!!!
(良いOSSを作れるメンテナとして切磋琢磨したい気持ちがあり、こうやって研鑽を積んでいる・・・つもりです)
const root = page.locator("#storybook-root"); | ||
const dialogRoot = page.locator("div[id^=q-portal--dialog--]"); | ||
const firstVisible = await Promise.race([ | ||
root.waitFor({ state: "visible" }).then(() => "root"), | ||
dialogRoot.waitFor({ state: "attached" }).then(() => "dialog"), | ||
]); | ||
|
||
// ダイアログの場合はダイアログのスクリーンショットを、そうでない場合は#storybook-rootのスクリーンショットを撮る。 | ||
// q-portal-dialogはそのまま撮るとvisible扱いにならずtoHaveScreenshotが失敗するので、 | ||
// 子要素にある実際のダイアログ(.q-dialog)を撮る。 | ||
if (firstVisible === "dialog") { | ||
const dialog = dialogRoot.locator(".q-dialog"); | ||
await expect(dialog).toHaveScreenshot(`${story.id}-${theme}.png`); | ||
} else { | ||
await expect(root).toHaveScreenshot(`${story.id}-${theme}.png`); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
かなりライブラリの実装依存なので、後から修正できるように丁寧に作っておきたいですねぇ。
- Quasarは後々依存をやめると踏んで、ダイアログ→Quasarダイアログに呼び方を一部変える
- 最初にダイアログ用かどうかで全コードを分岐するようにする
- たぶん
firstVisible
変数は無くせる(dialogRoot
の有無で分岐できる)
- たぶん
感じにしてみるのはどうでしょう。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
雰囲気こんな感じのコード?
// Quasarダイアログの場合はダイアログのスクリーンショットを、そうでない場合は#storybook-rootのスクリーンショットを撮る。
const root: Locater;
const dialogRoot = page.locator("div[id^=q-portal--dialog--]");
if (dialogRootがある) {
// q-portal-dialogはそのまま撮るとvisible扱いにならずtoHaveScreenshotが失敗するので、
// 子要素にある実際のダイアログ(.q-dialog)を撮る。
await dialogRoot.waitFor({ state: "attached" })
root = dialogRoot.locator(".q-dialog")
}
else {
await root.waitFor({ state: "visible" })
root = page.locator("#storybook-root");
}
await expect(root).toHaveScreenshot(`${story.id}-${theme}.png`);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ちょっと変えました。
Co-authored-by: Hiroshiba <[email protected]>
[update snapshots]
[update snapshots]
[update snapshots]
スマホ編集なんてやるもんじゃないな… [update snapshots]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!!
ますます便利になりましたね!!!
ちょっとドキュメントを微調整させていただいたあとマージしたいと思います!
なんか微妙になってたらすみません!!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
あれ、そういえばダークモードだとボタンがprimary colorなんですね
内容
タイトル通りです。
VRTは以下のような変更を行っています:
関連 Issue
スクリーンショット・動画など
(なし)
その他
(なし)