提交 1ec1e855 编写于 作者: F f111fei

add debounceEvent testcase

上级 715020f0
......@@ -5,7 +5,7 @@
'use strict';
import * as assert from 'assert';
import Event, {Emitter, fromEventEmitter, EventBufferer} from 'vs/base/common/event';
import Event, {Emitter, fromEventEmitter, debounceEvent, EventBufferer} from 'vs/base/common/event';
import {IDisposable} from 'vs/base/common/lifecycle';
import {EventEmitter} from 'vs/base/common/eventEmitter';
import Errors = require('vs/base/common/errors');
......@@ -177,6 +177,33 @@ suite('Event',function(){
Errors.setUnexpectedErrorHandler(origErrorHandler);
}
});
test('Debounce Event', function () {
let doc = new Samples.Document3();
let onDocDidChange = debounceEvent(doc.onDidChange, (prev: string[], cur) => {
if (!prev) {
prev = [cur];
} else if (prev.indexOf(cur) < 0) {
prev.push(cur);
}
return prev;
}, 10);
onDocDidChange(keys => {
assert.ok(keys, 'was not expecting keys.');
if (keys.length === 3) {
doc.setText('4');
assert.deepEqual(keys, ['1', '2', '3']);
} else {
assert.deepEqual(keys, ['4']);
}
});
doc.setText('1');
doc.setText('2');
doc.setText('3');
});
});
suite('EventBufferer', () => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册