Merge VS Code 1.23.1 (#1520)

This commit is contained in:
Matt Irvine
2018-06-05 11:24:51 -07:00
committed by GitHub
parent e3baf5c443
commit 0c58f09e59
3651 changed files with 74249 additions and 48599 deletions

View File

@@ -5,9 +5,9 @@
'use strict';
import * as assert from 'assert';
import Event, { Emitter, debounceEvent, EventBufferer, once, fromPromise, stopwatch, buffer, echo, EventMultiplexer } from 'vs/base/common/event';
import { Event, Emitter, debounceEvent, EventBufferer, once, fromPromise, stopwatch, buffer, echo, EventMultiplexer, latch } from 'vs/base/common/event';
import { IDisposable } from 'vs/base/common/lifecycle';
import Errors = require('vs/base/common/errors');
import * as Errors from 'vs/base/common/errors';
import { TPromise } from 'vs/base/common/winjs.base';
namespace Samples {
@@ -183,7 +183,7 @@ suite('Event', function () {
doc.setText('3');
});
test('Debounce Event - leading', function (done: () => void) {
test('Debounce Event - leading', function () {
const emitter = new Emitter<void>();
let debounced = debounceEvent(emitter.event, (l, e) => e, 0, /*leading=*/true);
@@ -194,13 +194,13 @@ suite('Event', function () {
// If the source event is fired once, the debounced (on the leading edge) event should be fired only once
emitter.fire();
setTimeout(() => {
return TPromise.timeout(1).then(() => {
assert.equal(calls, 1);
done();
});
});
test('Debounce Event - leading', function (done: () => void) {
test('Debounce Event - leading', function () {
const emitter = new Emitter<void>();
let debounced = debounceEvent(emitter.event, (l, e) => e, 0, /*leading=*/true);
@@ -213,9 +213,8 @@ suite('Event', function () {
emitter.fire();
emitter.fire();
emitter.fire();
setTimeout(() => {
return TPromise.timeout(1).then(() => {
assert.equal(calls, 2);
done();
});
});
@@ -652,4 +651,40 @@ suite('Event utils', () => {
assert.deepEqual(result, [1, 2, 3, 4, 5]);
});
});
test('latch', function () {
const emitter = new Emitter<number>();
const event = latch(emitter.event);
const result: number[] = [];
const listener = event(num => result.push(num));
assert.deepEqual(result, []);
emitter.fire(1);
assert.deepEqual(result, [1]);
emitter.fire(2);
assert.deepEqual(result, [1, 2]);
emitter.fire(2);
assert.deepEqual(result, [1, 2]);
emitter.fire(1);
assert.deepEqual(result, [1, 2, 1]);
emitter.fire(1);
assert.deepEqual(result, [1, 2, 1]);
emitter.fire(3);
assert.deepEqual(result, [1, 2, 1, 3]);
emitter.fire(3);
assert.deepEqual(result, [1, 2, 1, 3]);
emitter.fire(3);
assert.deepEqual(result, [1, 2, 1, 3]);
listener.dispose();
});
});