Initial VS Code 1.19 source merge (#571)

* Initial 1.19 xcopy

* Fix yarn build

* Fix numerous build breaks

* Next batch of build break fixes

* More build break fixes

* Runtime breaks

* Additional post merge fixes

* Fix windows setup file

* Fix test failures.

* Update license header blocks to refer to source eula
This commit is contained in:
Karl Burtram
2018-01-28 23:37:17 -08:00
committed by GitHub
parent 9a1ac20710
commit 251ae01c3e
8009 changed files with 93378 additions and 35634 deletions

View File

@@ -5,9 +5,8 @@
'use strict';
import * as assert from 'assert';
import Event, { Emitter, fromEventEmitter, debounceEvent, EventBufferer, once, fromPromise, stopwatch, buffer, echo, EventMultiplexer } from 'vs/base/common/event';
import Event, { Emitter, debounceEvent, EventBufferer, once, fromPromise, stopwatch, buffer, echo, EventMultiplexer } 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');
import { TPromise } from 'vs/base/common/winjs.base';
@@ -38,21 +37,6 @@ namespace Samples {
}
}
// what: like before but expose an existing event emitter as typed events
export class Document3b /*extends EventEmitter*/ {
private static _didChange = 'this_is_hidden_from_consumers';
private _eventBus = new EventEmitter();
onDidChange = fromEventEmitter<string>(this._eventBus, Document3b._didChange);
setText(value: string) {
//...
this._eventBus.emit(Document3b._didChange, value);
}
}
}
suite('Event', function () {
@@ -78,19 +62,6 @@ suite('Event', function () {
});
test('wrap legacy EventEmitter', function () {
let doc = new Samples.Document3b();
let subscription = doc.onDidChange(counter.onEvent, counter);
doc.setText('far');
doc.setText('boo');
// unhook listener
subscription.dispose();
doc.setText('boo');
assert.equal(counter.count, 2);
});
test('Emitter, bucket', function () {
let bucket: IDisposable[] = [];
@@ -112,27 +83,6 @@ suite('Event', function () {
assert.equal(counter.count, 2);
});
test('wrapEventEmitter, bucket', function () {
let bucket: IDisposable[] = [];
let doc = new Samples.Document3b();
let subscription = doc.onDidChange(counter.onEvent, counter, bucket);
doc.setText('far');
doc.setText('boo');
// unhook listener
while (bucket.length) {
bucket.pop().dispose();
}
// noop
subscription.dispose();
doc.setText('boo');
assert.equal(counter.count, 2);
});
test('onFirstAdd|onLastRemove', function () {
let firstCount = 0;
@@ -268,6 +218,25 @@ suite('Event', function () {
done();
});
});
test('Emitter - In Order Delivery', function () {
const a = new Emitter<string>();
const listener2Events: string[] = [];
a.event(function listener1(event) {
if (event === 'e1') {
a.fire('e2');
// assert that all events are delivered at this point
assert.deepEqual(listener2Events, ['e1', 'e2']);
}
});
a.event(function listener2(event) {
listener2Events.push(event);
});
a.fire('e1');
// assert that all events are delivered in order
assert.deepEqual(listener2Events, ['e1', 'e2']);
});
});
suite('Event utils', () => {
@@ -399,7 +368,7 @@ suite('Event utils', () => {
suite('buffer', () => {
test('should buffer events', () => {
const result = [];
const result: number[] = [];
const emitter = new Emitter<number>();
const event = emitter.event;
const bufferedEvent = buffer(event);
@@ -421,7 +390,7 @@ suite('Event utils', () => {
});
test('should buffer events on next tick', () => {
const result = [];
const result: number[] = [];
const emitter = new Emitter<number>();
const event = emitter.event;
const bufferedEvent = buffer(event, true);
@@ -445,7 +414,7 @@ suite('Event utils', () => {
});
test('should fire initial buffer events', () => {
const result = [];
const result: number[] = [];
const emitter = new Emitter<number>();
const event = emitter.event;
const bufferedEvent = buffer(event, false, [-2, -1, 0]);
@@ -463,7 +432,7 @@ suite('Event utils', () => {
suite('echo', () => {
test('should echo events', () => {
const result = [];
const result: number[] = [];
const emitter = new Emitter<number>();
const event = emitter.event;
const echoEvent = echo(event);
@@ -485,8 +454,8 @@ suite('Event utils', () => {
});
test('should echo events for every listener', () => {
const result1 = [];
const result2 = [];
const result1: number[] = [];
const result2: number[] = [];
const emitter = new Emitter<number>();
const event = emitter.event;
const echoEvent = echo(event);
@@ -524,7 +493,7 @@ suite('Event utils', () => {
suite('EventMultiplexer', () => {
test('works', () => {
const result = [];
const result: number[] = [];
const m = new EventMultiplexer<number>();
m.event(r => result.push(r));
@@ -538,7 +507,7 @@ suite('Event utils', () => {
});
test('multiplexer dispose works', () => {
const result = [];
const result: number[] = [];
const m = new EventMultiplexer<number>();
m.event(r => result.push(r));
@@ -558,7 +527,7 @@ suite('Event utils', () => {
});
test('event dispose works', () => {
const result = [];
const result: number[] = [];
const m = new EventMultiplexer<number>();
m.event(r => result.push(r));
@@ -578,7 +547,7 @@ suite('Event utils', () => {
});
test('mutliplexer event dispose works', () => {
const result = [];
const result: number[] = [];
const m = new EventMultiplexer<number>();
m.event(r => result.push(r));
@@ -598,7 +567,7 @@ suite('Event utils', () => {
});
test('hot start works', () => {
const result = [];
const result: number[] = [];
const m = new EventMultiplexer<number>();
m.event(r => result.push(r));
@@ -616,7 +585,7 @@ suite('Event utils', () => {
});
test('cold start works', () => {
const result = [];
const result: number[] = [];
const m = new EventMultiplexer<number>();
const e1 = new Emitter<number>();
@@ -635,7 +604,7 @@ suite('Event utils', () => {
});
test('late add works', () => {
const result = [];
const result: number[] = [];
const m = new EventMultiplexer<number>();
const e1 = new Emitter<number>();
@@ -656,7 +625,7 @@ suite('Event utils', () => {
});
test('add dispose works', () => {
const result = [];
const result: number[] = [];
const m = new EventMultiplexer<number>();
const e1 = new Emitter<number>();