Jest setupFiles と setupFilesAfterEnv
主にenvを読み込む処理を書く。この時点ではjestはセットアップされていないので、jest.xxxx みたいなAPIはコールできない。
setupFilesAfterEnvjestがセットアップされた ...
JavaScript use strict だと delete 演算子でエラーになってくれる
変数や関数で delete をした場合、削除できないので false が返りますが、実行時のエラーにはなりません。
let hoge = 'hoge'delete hoge//false が返るconsole.l ...
JSON Schema draft 2019-09 で追加された unevaluatedProperties がどう動作するかについて
github にテストケースが書いてありました。
テストコードはそれ自体が仕様でもあるので、どういう動作かわからないときはテストコードをみるのはすごくありです。
ajvを使ってJSONのバリデーションをするときに $ref を使用する場合
ajv を使用すると JSON Schema を基に JSON のバリデーションを行うことができます。
JSON Schema で ref を使っている場合は、addSchema でスキーマを繋ぐ必要があります。
オンラインで JSON Schema のバリデーションを試せるサイト
の Try it online で、左に json schema を記載し、右側にバリデーションする json を記載する。
こっちの方がdraftを選択できていいかも。
CSSBattleで自分のCSSスキルを試せる
CSSBattleというサービスでは、表示されているいくつかのデザインから選択して、そのデザインを以下に少ないCSSコードでかけるかを競うサービスのようです。
20210305時点で13のデザインがあるみたいですね。
モーダルでスクロールを制御する場合に便利なscrollIntoView
モーダル上でスクロールをjavascriptから制御したい場合に、window.scrollTo は使えないため、scrollIntoView が便利です。
このメソッドは、scrollIntoView が呼び出された要素 ...
Jest モックを使ってより柔軟なテストをしてみよう
例えば以下のような関数を作成したとします。
const doTamibouz = (callback, name) => { if(name === 'tamibouz') callback(name)}
覚書 メールアドレスの形式はRFC5321とRFC5322に書いてある
メールアドレスにどのような文字を使うことができるか・文字数制限などは、RFC5321とRFC5322に書いてあります。
Jestで非同期処理をテストする(コールバック)
fetchData関数は、第一引数に渡された値を第二引数に渡された関数の引数に渡して、3秒後に実行する関数です。
const fetchData = (value, cb) => { setTimeout(() => ...