>> 古い記事: Ruby メモ
<< 新しい記事: 2010-01: ERMasterのインストール

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

JsUnit: テスト実行とエラーメッセージ表示をキーボード操作で行う

JsUnit を使う場合、 エディタでコード書く→ブラウザでテストという一連の操作の途中で どうしてもマウス操作が必要になる場面があり、とてもだるいのでどうにかしたい。


自分が使う場合、操作の 9割は (1)テストの実行 (2)エラーメッセージの表示。 の 2つ。その他の操作はたまにしか行わないので、マウス操作でも構わない。


jsunit/app/main-data.html の 以下の行をコメントアウト。

giveFocusToTestFileNameField();

同じく jsunit/app/main-data.html の body 要素の最後に以下を追加。

新たに生成して画面左上に配置した input 要素 keyCapture でキー入力を拾い、 r, a キーでそれぞれテスト実行、エラーメッセージの表示(Show all)を行うようにした。 keyCapture からフォーカスが外れた場合はマウスでフォーカスを戻すかページをリロードする。

<script type="text/javascript">
(function(){
  var keyCapture = document.createElement("input");
  
  (function(rules){
    for(var key in rules){
      keyCapture.style[key] = rules[key];
    }
  })({
    border: "solid 1px red"
  , width: "20px"
  , height: "20px"
  , position: "absolute"
  , left: "10px"
  , top: "10px"
  });
  
  document.getElementsByTagName("body")[0].appendChild(keyCapture);
  keyCapture.focus();
  
  var operateByKeyInput = function(event){
    switch(event.keyCode){
      case 65: // a
        top.testManager.getUiManager().showMessagesForAllProblemTests();
        break;
      case 82: // r
        top.startTests();
        break;
    }
  };
  
  keyCapture.onkeydown = operateByKeyInput;
})();
</script>

あと、ページのロード時に自動でテストを行う方法を 併用すると便利 → testRunner.htmlの引数(js.nice-777.com)

>> 古い記事: Ruby メモ
<< 新しい記事: 2010-01: ERMasterのインストール
** ホームに戻る

コメント

コメントの投稿

管理者にだけ表示を許可する

|
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。