blog.bouzuya.net

2018-05-16 Sinon.js でハマる / 『ロスト・ワールド / ジュラシックパーク』を観た

Sinon.JS の stub の挙動でちょっとハマった。

"test should stub method differently based on arguments": function () {
    var callback = sinon.stub();
    callback.withArgs(42).returns(1);
    callback.withArgs(1).throws("name");

    callback(); // No return value, no exception
    callback(42); // Returns 1
    callback(1); // Throws Error("name")
}

これ callback.withArgs(42).returns(1).withArgs(1).throws("name") のようにひとつづきにすると期待通りに動かない。呼び出し回数などはきちんとカウントできるが、引数別の挙動がおかしくなる。↑の例を見ると区切るのが当たり前みたいに思えるけど、 returns もそれっぽいオブジェクトを返しているので、あまり加減が分からない。


bouzuya/tamaru 。 Google Sheets API からの応答の解釈が雑だけど、とりあえず読み込めるようにした。毎回取るには時間がかかる処理なので、起動時にすべて読みこんで、それを返すつもり。あとは更新時に部分更新できれば十分なはず。今日は起動時の読み込みまでやるつもりだったのだけど、 serial number (Excel の Date を表す数値) の変換に気を取られたり、残業したせいで間に合わなかった。

明日は fgb (private) をやろうかな。


『ロスト・ワールド / ジュラシックパーク』を観た。途中まで。過去に観たことがあるはず。映画の中のケンカは観ていてイライラする。