refactor (test/facade): Ts'ify test/facade
Translate AtScript in test/facade to TypeScript
This commit is contained in:
parent
f83f1ee0ce
commit
8609543ad0
|
@ -1,61 +0,0 @@
|
||||||
import {describe, it, expect, beforeEach, ddescribe, iit, xit, el,
|
|
||||||
SpyObject, AsyncTestCompleter, inject, IS_DARTIUM} from 'angular2/test_lib';
|
|
||||||
|
|
||||||
import {ObservableWrapper, EventEmitter, PromiseWrapper} from 'angular2/src/facade/async';
|
|
||||||
|
|
||||||
export function main() {
|
|
||||||
describe('EventEmitter', () => {
|
|
||||||
var emitter:EventEmitter;
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
emitter = new EventEmitter();
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should call the next callback", inject([AsyncTestCompleter], (async) => {
|
|
||||||
ObservableWrapper.subscribe(emitter, (value) => {
|
|
||||||
expect(value).toEqual(99);
|
|
||||||
async.done();
|
|
||||||
});
|
|
||||||
|
|
||||||
ObservableWrapper.callNext(emitter, 99);
|
|
||||||
}));
|
|
||||||
|
|
||||||
it("should call the throw callback", inject([AsyncTestCompleter], (async) => {
|
|
||||||
ObservableWrapper.subscribe(emitter, (_) => {}, (error) => {
|
|
||||||
expect(error).toEqual("Boom");
|
|
||||||
async.done();
|
|
||||||
});
|
|
||||||
ObservableWrapper.callThrow(emitter, "Boom");
|
|
||||||
}));
|
|
||||||
|
|
||||||
it("should work when no throw callback is provided", inject([AsyncTestCompleter], (async) => {
|
|
||||||
ObservableWrapper.subscribe(emitter, (_) => {}, (_) => {
|
|
||||||
async.done();
|
|
||||||
});
|
|
||||||
ObservableWrapper.callThrow(emitter, "Boom");
|
|
||||||
}));
|
|
||||||
|
|
||||||
it("should call the return callback", inject([AsyncTestCompleter], (async) => {
|
|
||||||
ObservableWrapper.subscribe(emitter, (_) => {}, (_) => {}, () => {
|
|
||||||
async.done();
|
|
||||||
});
|
|
||||||
|
|
||||||
ObservableWrapper.callReturn(emitter);
|
|
||||||
}));
|
|
||||||
|
|
||||||
it("should subscribe to the wrapper asynchronously", () => {
|
|
||||||
var called = false;
|
|
||||||
ObservableWrapper.subscribe(emitter, (value) => {
|
|
||||||
called = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
ObservableWrapper.callNext(emitter, 99);
|
|
||||||
expect(called).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
//TODO: vsavkin: add tests cases
|
|
||||||
//should call dispose on the subscription if generator returns {done:true}
|
|
||||||
//should call dispose on the subscription on throw
|
|
||||||
//should call dispose on the subscription on return
|
|
||||||
});
|
|
||||||
}
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
import {
|
||||||
|
describe,
|
||||||
|
it,
|
||||||
|
expect,
|
||||||
|
beforeEach,
|
||||||
|
ddescribe,
|
||||||
|
iit,
|
||||||
|
xit,
|
||||||
|
el,
|
||||||
|
SpyObject,
|
||||||
|
AsyncTestCompleter,
|
||||||
|
inject,
|
||||||
|
IS_DARTIUM
|
||||||
|
} from 'angular2/test_lib';
|
||||||
|
|
||||||
|
import {ObservableWrapper, EventEmitter, PromiseWrapper} from 'angular2/src/facade/async';
|
||||||
|
|
||||||
|
export function main() {
|
||||||
|
describe('EventEmitter', () => {
|
||||||
|
var emitter: EventEmitter;
|
||||||
|
|
||||||
|
beforeEach(() => { emitter = new EventEmitter(); });
|
||||||
|
|
||||||
|
it("should call the next callback", inject([AsyncTestCompleter], (async) => {
|
||||||
|
ObservableWrapper.subscribe(emitter, (value) => {
|
||||||
|
expect(value).toEqual(99);
|
||||||
|
async.done();
|
||||||
|
});
|
||||||
|
|
||||||
|
ObservableWrapper.callNext(emitter, 99);
|
||||||
|
}));
|
||||||
|
|
||||||
|
it("should call the throw callback", inject([AsyncTestCompleter], (async) => {
|
||||||
|
ObservableWrapper.subscribe(emitter, (_) => {}, (error) => {
|
||||||
|
expect(error).toEqual("Boom");
|
||||||
|
async.done();
|
||||||
|
});
|
||||||
|
ObservableWrapper.callThrow(emitter, "Boom");
|
||||||
|
}));
|
||||||
|
|
||||||
|
it("should work when no throw callback is provided", inject([AsyncTestCompleter], (async) => {
|
||||||
|
ObservableWrapper.subscribe(emitter, (_) => {}, (_) => { async.done(); });
|
||||||
|
ObservableWrapper.callThrow(emitter, "Boom");
|
||||||
|
}));
|
||||||
|
|
||||||
|
it("should call the return callback", inject([AsyncTestCompleter], (async) => {
|
||||||
|
ObservableWrapper.subscribe(emitter, (_) => {}, (_) => {}, () => { async.done(); });
|
||||||
|
|
||||||
|
ObservableWrapper.callReturn(emitter);
|
||||||
|
}));
|
||||||
|
|
||||||
|
it("should subscribe to the wrapper asynchronously", () => {
|
||||||
|
var called = false;
|
||||||
|
ObservableWrapper.subscribe(emitter, (value) => { called = true; });
|
||||||
|
|
||||||
|
ObservableWrapper.callNext(emitter, 99);
|
||||||
|
expect(called).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
// TODO: vsavkin: add tests cases
|
||||||
|
// should call dispose on the subscription if generator returns {done:true}
|
||||||
|
// should call dispose on the subscription on throw
|
||||||
|
// should call dispose on the subscription on return
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,112 +0,0 @@
|
||||||
import {describe, it, expect, beforeEach, ddescribe, iit, xit}
|
|
||||||
from 'angular2/test_lib';
|
|
||||||
|
|
||||||
import {List, ListWrapper, StringMap, StringMapWrapper} from 'angular2/src/facade/collection';
|
|
||||||
|
|
||||||
export function main() {
|
|
||||||
describe('ListWrapper', () => {
|
|
||||||
var l: List;
|
|
||||||
|
|
||||||
describe('splice', () => {
|
|
||||||
it('should remove sublist of given length and return it', () => {
|
|
||||||
var list = [1, 2, 3, 4, 5, 6];
|
|
||||||
expect(ListWrapper.splice(list, 1, 3)).toEqual([2, 3, 4]);
|
|
||||||
expect(list).toEqual([1, 5, 6]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should support negative start', () => {
|
|
||||||
var list = [1, 2, 3, 4, 5, 6];
|
|
||||||
expect(ListWrapper.splice(list, -5, 3)).toEqual([2, 3, 4]);
|
|
||||||
expect(list).toEqual([1, 5, 6]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('fill', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
l = [1, 2, 3, 4];
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should fill the whole list if neither start nor end are specified', () => {
|
|
||||||
ListWrapper.fill(l, 9);
|
|
||||||
expect(l).toEqual([9, 9, 9, 9]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should fill up to the end if end is not specified', () => {
|
|
||||||
ListWrapper.fill(l, 9, 1);
|
|
||||||
expect(l).toEqual([1, 9, 9, 9]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should support negative start', () => {
|
|
||||||
ListWrapper.fill(l, 9, -1);
|
|
||||||
expect(l).toEqual([1, 2, 3, 9]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should support negative end', () => {
|
|
||||||
ListWrapper.fill(l, 9, -2, -1);
|
|
||||||
expect(l).toEqual([1, 2, 9, 4]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('slice', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
l = [1, 2, 3, 4];
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return the whole list if neither start nor end are specified', () => {
|
|
||||||
expect(ListWrapper.slice(l)).toEqual([1, 2, 3, 4]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return up to the end if end is not specified', () => {
|
|
||||||
expect(ListWrapper.slice(l, 1)).toEqual([2, 3, 4]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should support negative start', () => {
|
|
||||||
expect(ListWrapper.slice(l, -1)).toEqual([4]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should support negative end', () => {
|
|
||||||
expect(ListWrapper.slice(l, -3, -1)).toEqual([2, 3]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('StringMapWrapper', () => {
|
|
||||||
describe('equals', () => {
|
|
||||||
it('should return true when comparing empty maps', () => {
|
|
||||||
expect(StringMapWrapper.equals({}, {})).toBe(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return true when comparing the same map', () => {
|
|
||||||
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
|
||||||
expect(StringMapWrapper.equals(m1, m1)).toBe(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return true when comparing different maps with the same keys and values', () => {
|
|
||||||
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
|
||||||
var m2 = {'a': 1, 'b': 2, 'c': 3};
|
|
||||||
expect(StringMapWrapper.equals(m1, m2)).toBe(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return false when comparing maps with different numbers of keys', () => {
|
|
||||||
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
|
||||||
var m2 = {'a': 1, 'b': 2, 'c': 3, 'd': 4};
|
|
||||||
expect(StringMapWrapper.equals(m1, m2)).toBe(false);
|
|
||||||
expect(StringMapWrapper.equals(m2, m1)).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return false when comparing maps with different keys', () => {
|
|
||||||
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
|
||||||
var m2 = {'a': 1, 'b': 2, 'CC': 3};
|
|
||||||
expect(StringMapWrapper.equals(m1, m2)).toBe(false);
|
|
||||||
expect(StringMapWrapper.equals(m2, m1)).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return false when comparing maps with different values', () => {
|
|
||||||
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
|
||||||
var m2 = {'a': 1, 'b': 20, 'c': 3};
|
|
||||||
expect(StringMapWrapper.equals(m1, m2)).toBe(false);
|
|
||||||
expect(StringMapWrapper.equals(m2, m1)).toBe(false);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
import {describe, it, expect, beforeEach, ddescribe, iit, xit} from 'angular2/test_lib';
|
||||||
|
|
||||||
|
import {List, ListWrapper, StringMap, StringMapWrapper} from 'angular2/src/facade/collection';
|
||||||
|
|
||||||
|
export function main() {
|
||||||
|
describe('ListWrapper', () => {
|
||||||
|
var l: List<int>;
|
||||||
|
|
||||||
|
describe('splice', () => {
|
||||||
|
it('should remove sublist of given length and return it', () => {
|
||||||
|
var list = [1, 2, 3, 4, 5, 6];
|
||||||
|
expect(ListWrapper.splice(list, 1, 3)).toEqual([2, 3, 4]);
|
||||||
|
expect(list).toEqual([1, 5, 6]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should support negative start', () => {
|
||||||
|
var list = [1, 2, 3, 4, 5, 6];
|
||||||
|
expect(ListWrapper.splice(list, -5, 3)).toEqual([2, 3, 4]);
|
||||||
|
expect(list).toEqual([1, 5, 6]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('fill', () => {
|
||||||
|
beforeEach(() => { l = [1, 2, 3, 4]; });
|
||||||
|
|
||||||
|
it('should fill the whole list if neither start nor end are specified', () => {
|
||||||
|
ListWrapper.fill(l, 9);
|
||||||
|
expect(l).toEqual([9, 9, 9, 9]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should fill up to the end if end is not specified', () => {
|
||||||
|
ListWrapper.fill(l, 9, 1);
|
||||||
|
expect(l).toEqual([1, 9, 9, 9]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should support negative start', () => {
|
||||||
|
ListWrapper.fill(l, 9, -1);
|
||||||
|
expect(l).toEqual([1, 2, 3, 9]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should support negative end', () => {
|
||||||
|
ListWrapper.fill(l, 9, -2, -1);
|
||||||
|
expect(l).toEqual([1, 2, 9, 4]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('slice', () => {
|
||||||
|
beforeEach(() => { l = [1, 2, 3, 4]; });
|
||||||
|
|
||||||
|
it('should return the whole list if neither start nor end are specified',
|
||||||
|
() => { expect(ListWrapper.slice(l)).toEqual([1, 2, 3, 4]); });
|
||||||
|
|
||||||
|
it('should return up to the end if end is not specified',
|
||||||
|
() => { expect(ListWrapper.slice(l, 1)).toEqual([2, 3, 4]); });
|
||||||
|
|
||||||
|
it('should support negative start', () => { expect(ListWrapper.slice(l, -1)).toEqual([4]); });
|
||||||
|
|
||||||
|
it('should support negative end',
|
||||||
|
() => { expect(ListWrapper.slice(l, -3, -1)).toEqual([2, 3]); });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('StringMapWrapper', () => {
|
||||||
|
describe('equals', () => {
|
||||||
|
it('should return true when comparing empty maps',
|
||||||
|
() => { expect(StringMapWrapper.equals({}, {})).toBe(true); });
|
||||||
|
|
||||||
|
it('should return true when comparing the same map', () => {
|
||||||
|
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
||||||
|
expect(StringMapWrapper.equals(m1, m1)).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return true when comparing different maps with the same keys and values', () => {
|
||||||
|
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
||||||
|
var m2 = {'a': 1, 'b': 2, 'c': 3};
|
||||||
|
expect(StringMapWrapper.equals(m1, m2)).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return false when comparing maps with different numbers of keys', () => {
|
||||||
|
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
||||||
|
var m2 = {'a': 1, 'b': 2, 'c': 3, 'd': 4};
|
||||||
|
expect(StringMapWrapper.equals(m1, m2)).toBe(false);
|
||||||
|
expect(StringMapWrapper.equals(m2, m1)).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return false when comparing maps with different keys', () => {
|
||||||
|
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
||||||
|
var m2 = {'a': 1, 'b': 2, 'CC': 3};
|
||||||
|
expect(StringMapWrapper.equals(m1, m2)).toBe(false);
|
||||||
|
expect(StringMapWrapper.equals(m2, m1)).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return false when comparing maps with different values', () => {
|
||||||
|
var m1 = {'a': 1, 'b': 2, 'c': 3};
|
||||||
|
var m2 = {'a': 1, 'b': 20, 'c': 3};
|
||||||
|
expect(StringMapWrapper.equals(m1, m2)).toBe(false);
|
||||||
|
expect(StringMapWrapper.equals(m2, m1)).toBe(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
|
@ -1,60 +0,0 @@
|
||||||
import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/test_lib';
|
|
||||||
|
|
||||||
import {ListWrapper} from 'angular2/src/facade/collection';
|
|
||||||
import {isPresent, RegExpWrapper, RegExpMatcherWrapper, StringWrapper, CONST_EXPR} from 'angular2/src/facade/lang';
|
|
||||||
|
|
||||||
export function main() {
|
|
||||||
describe('RegExp', () => {
|
|
||||||
it('should expose the index for each match', () => {
|
|
||||||
var re = RegExpWrapper.create('(!)');
|
|
||||||
var matcher = RegExpWrapper.matcher(re, '0!23!567!!');
|
|
||||||
var indexes = [];
|
|
||||||
var m;
|
|
||||||
|
|
||||||
while (isPresent(m = RegExpMatcherWrapper.next(matcher))) {
|
|
||||||
ListWrapper.push(indexes, m.index);
|
|
||||||
expect(m[0]).toEqual('!');
|
|
||||||
expect(m[1]).toEqual('!');
|
|
||||||
expect(m.length).toBe(2);
|
|
||||||
}
|
|
||||||
|
|
||||||
expect(indexes).toEqual([1, 4, 8, 9]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should whether the regular expression has a match in the string', () => {
|
|
||||||
var barRe = RegExpWrapper.create('bar');
|
|
||||||
|
|
||||||
expect(RegExpWrapper.test(barRe, 'bar')).toEqual(true);
|
|
||||||
expect(RegExpWrapper.test(barRe, 'foo')).toEqual(false);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('const', () => {
|
|
||||||
it('should support const expressions both in TS and Dart', () => {
|
|
||||||
const numbers = CONST_EXPR([1, 2, 3]);
|
|
||||||
expect(numbers).toEqual([1, 2, 3]);
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('String', () => {
|
|
||||||
var upper, lower;
|
|
||||||
|
|
||||||
beforeEach(() => {
|
|
||||||
upper = 'SOMETHING'
|
|
||||||
lower = 'something';
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should upper case a string', () => {
|
|
||||||
var str = StringWrapper.toUpperCase(lower);
|
|
||||||
|
|
||||||
expect(str).toEqual(upper);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should lower case a string', () => {
|
|
||||||
var str = StringWrapper.toLowerCase(upper);
|
|
||||||
|
|
||||||
expect(str).toEqual(lower);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/test_lib';
|
||||||
|
|
||||||
|
import {ListWrapper} from 'angular2/src/facade/collection';
|
||||||
|
import {
|
||||||
|
isPresent,
|
||||||
|
RegExpWrapper,
|
||||||
|
RegExpMatcherWrapper,
|
||||||
|
StringWrapper,
|
||||||
|
CONST_EXPR
|
||||||
|
} from 'angular2/src/facade/lang';
|
||||||
|
|
||||||
|
export function main() {
|
||||||
|
describe('RegExp', () => {it('should expose the index for each match', () => {
|
||||||
|
var re = RegExpWrapper.create('(!)');
|
||||||
|
var matcher = RegExpWrapper.matcher(re, '0!23!567!!');
|
||||||
|
var indexes = [];
|
||||||
|
var m;
|
||||||
|
|
||||||
|
while (isPresent(m = RegExpMatcherWrapper.next(matcher))) {
|
||||||
|
ListWrapper.push(indexes, m.index);
|
||||||
|
expect(m[0]).toEqual('!');
|
||||||
|
expect(m[1]).toEqual('!');
|
||||||
|
expect(m.length).toBe(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
expect(indexes).toEqual([1, 4, 8, 9]);
|
||||||
|
})});
|
||||||
|
|
||||||
|
describe('const', () => {it('should support const expressions both in TS and Dart', () => {
|
||||||
|
const numbers = CONST_EXPR([1, 2, 3]);
|
||||||
|
expect(numbers).toEqual([1, 2, 3]);
|
||||||
|
})});
|
||||||
|
|
||||||
|
describe('String', () => {
|
||||||
|
var upper, lower;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
upper = 'SOMETHING';
|
||||||
|
lower = 'something';
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should upper case a string', () => {
|
||||||
|
var str = StringWrapper.toUpperCase(lower);
|
||||||
|
|
||||||
|
expect(str).toEqual(upper);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should lower case a string', () => {
|
||||||
|
var str = StringWrapper.toLowerCase(upper);
|
||||||
|
|
||||||
|
expect(str).toEqual(lower);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
Loading…
Reference in New Issue