なぜなら このアルゴリズムは最終的なものではなく、おそらく改善されるでしょう。テストできるようにしたかったのです。 基本的に、プラグインは入力でdeltaYから数値シリーズを受け取り、それを分析します。 つまり、nodejsと
travis-ci.orgは、コミットをテストするためのテストを作成
するのに十分です。
nodejsでプラグインをテストできるようにするには、プラグインがcommonjs形式でエクスポートできることが必要です。
これを行うには、チェックを追加してコンストラクターをエクスポートします。
if (typeof exports === 'object') { module.exports = WheelIndicator; }
プラグインの入力は、addEventListenerを使用してハンドラーを作成した後、イベントオブジェクトを介して送られます。 したがって、テストでは、このメソッドを「ロックアップ」する必要があります。
global.document = { addEventListener: function(type, handler){ currentDeltaArr.forEach(function(delta){ handler({ deltaY: delta }); }); } };
ここで、deltaはdeltaYからのテスト番号シリーズの配列です。 このようなシリーズをさまざまなデバイスやOSから簡単に入手できるように、
テストスタンドを作成しました。
これですべてです。プラグインを再確立し、インスタンスを作成して、プラグインから受信したデータを参照と比較するだけです。
テストの入力例:
down: { moves: [ 'down' ], delta: [1,4,12,32,55,69,154,156,158,148,137,130,122,116,111,108,103,97,93,88,84,80,74,71,65,61,57,54,50,46,42,39,36,33,31,27,25,23,21,18,17,15,14,13,12,11,9,8,8,7,6,6,14,4,4,3,3,3,2,2,4,1,2,1,1,1,1,1,1,1,1,1,1], device: 'Mac OSX notebook trackpad' }