2009-04-27
■ [biwascheme][memo] JSのテストをJSでできないか
JSのテストをJSでできないか。イベント処理も含めて。
作戦1
Prototype.jsではカスタムイベント+fireが使えるので、BiwaSchemeでいうとadd-handler! (Element.observe相当) をオーバーライドして カスタムイベントを経由させれば、スクリプトからイベントを発火させることが可能に。
という実験をBiwaSchemeでやってるんだけどさー。 「新規アイテム作成→削除」という単純なテストがあったときに
(js-invoke ($ "origin") "fire" "bs:click") ; --- (expect (vector-length (ticket-divs)) is 1) (js-invoke ($ "hand_delete") "fire" "bs:click") ; --- (expect (vector-length (ticket-divs)) is 0)
上の「---」の部分がイベントハンドラの実行終了までブロックしてくれないので、アイテムが作られる前にexpectが実行されちゃってfailした。
作戦2
もうイベントハンドラ自分で実行すればいいんじゃないかなぁ。
(つづく?)
ブログ記事へのリンクありがとうございますー
いえいえー