74 lines
2.1 KiB
TypeScript
74 lines
2.1 KiB
TypeScript
import {
|
|
ddescribe,
|
|
describe,
|
|
it,
|
|
iit,
|
|
xit,
|
|
expect,
|
|
beforeEach,
|
|
afterEach,
|
|
browserDetection,
|
|
inject,
|
|
TestComponentBuilder,
|
|
AsyncTestCompleter
|
|
} from 'angular2/testing_internal';
|
|
|
|
import {ReplacePipe} from 'angular2/common';
|
|
import {RegExpWrapper, StringJoiner} from 'angular2/src/facade/lang';
|
|
|
|
export function main() {
|
|
describe("ReplacePipe", () => {
|
|
var someNumber: number;
|
|
var str;
|
|
var pipe;
|
|
|
|
beforeEach(() => {
|
|
someNumber = 42;
|
|
str = 'Douglas Adams';
|
|
pipe = new ReplacePipe();
|
|
});
|
|
|
|
describe("transform", () => {
|
|
|
|
it("should not support input other than strings and numbers", () => {
|
|
expect(() => pipe.transform({}, ["Douglas", "Hugh"])).toThrow();
|
|
expect(() => pipe.transform([1, 2, 3], ["Douglas", "Hugh"])).toThrow();
|
|
});
|
|
|
|
it("should not support patterns other than strings and regular expressions", () => {
|
|
expect(() => pipe.transform(str, [{}, "Hugh"])).toThrow();
|
|
expect(() => pipe.transform(str, [null, "Hugh"])).toThrow();
|
|
expect(() => pipe.transform(str, [123, "Hugh"])).toThrow();
|
|
});
|
|
|
|
it("should not support replacements other than strings and functions", () => {
|
|
expect(() => pipe.transform(str, ["Douglas", {}])).toThrow();
|
|
expect(() => pipe.transform(str, ["Douglas", null])).toThrow();
|
|
expect(() => pipe.transform(str, ["Douglas", 123])).toThrow();
|
|
});
|
|
|
|
it("should return a new string with the pattern replaced", () => {
|
|
var result1 = pipe.transform(str, ["Douglas", "Hugh"]);
|
|
|
|
var result2 = pipe.transform(str, [RegExpWrapper.create("a"), "_"]);
|
|
|
|
var result3 = pipe.transform(str, [RegExpWrapper.create("a", "i"), "_"]);
|
|
|
|
var f = (x => { return "Adams!"; });
|
|
|
|
var result4 = pipe.transform(str, ["Adams", f]);
|
|
|
|
var result5 = pipe.transform(someNumber, ["2", "4"]);
|
|
|
|
expect(result1).toEqual("Hugh Adams");
|
|
expect(result2).toEqual("Dougl_s Ad_ms");
|
|
expect(result3).toEqual("Dougl_s _d_ms");
|
|
expect(result4).toEqual("Douglas Adams!");
|
|
expect(result5).toEqual("44");
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
}
|