2016-04-12 12:40:37 -04:00
|
|
|
import {
|
|
|
|
ddescribe,
|
|
|
|
describe,
|
|
|
|
it,
|
|
|
|
iit,
|
|
|
|
xit,
|
|
|
|
expect,
|
|
|
|
beforeEach,
|
|
|
|
afterEach,
|
|
|
|
inject,
|
2016-04-28 20:50:03 -04:00
|
|
|
} from '@angular/core/testing/testing_internal';
|
|
|
|
import {AsyncTestCompleter} from '@angular/core/testing/testing_internal';
|
2015-12-27 01:05:25 -05:00
|
|
|
|
2016-04-28 20:50:03 -04:00
|
|
|
import {ReplacePipe} from '@angular/common';
|
|
|
|
import {RegExpWrapper, StringJoiner} from '../../src/facade/lang';
|
2015-12-27 01:05:25 -05:00
|
|
|
|
|
|
|
export function main() {
|
2016-04-12 12:40:37 -04:00
|
|
|
describe("ReplacePipe", () => {
|
2015-12-27 01:05:25 -05:00
|
|
|
var someNumber: number;
|
|
|
|
var str;
|
|
|
|
var pipe;
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
someNumber = 42;
|
|
|
|
str = 'Douglas Adams';
|
|
|
|
pipe = new ReplacePipe();
|
|
|
|
});
|
|
|
|
|
2016-04-12 12:40:37 -04:00
|
|
|
describe("transform", () => {
|
2015-12-27 01:05:25 -05:00
|
|
|
|
2016-04-12 12:40:37 -04:00
|
|
|
it("should not support input other than strings and numbers", () => {
|
2016-04-22 18:33:32 -04:00
|
|
|
expect(() => pipe.transform({}, "Douglas", "Hugh")).toThrow();
|
|
|
|
expect(() => pipe.transform([1, 2, 3], "Douglas", "Hugh")).toThrow();
|
2015-12-27 01:05:25 -05:00
|
|
|
});
|
|
|
|
|
2016-04-12 12:40:37 -04:00
|
|
|
it("should not support patterns other than strings and regular expressions", () => {
|
2016-04-22 18:33:32 -04:00
|
|
|
expect(() => pipe.transform(str, {}, "Hugh")).toThrow();
|
|
|
|
expect(() => pipe.transform(str, null, "Hugh")).toThrow();
|
|
|
|
expect(() => pipe.transform(str, 123, "Hugh")).toThrow();
|
2015-12-27 01:05:25 -05:00
|
|
|
});
|
|
|
|
|
2016-04-12 12:40:37 -04:00
|
|
|
it("should not support replacements other than strings and functions", () => {
|
2016-04-22 18:33:32 -04:00
|
|
|
expect(() => pipe.transform(str, "Douglas", {})).toThrow();
|
|
|
|
expect(() => pipe.transform(str, "Douglas", null)).toThrow();
|
|
|
|
expect(() => pipe.transform(str, "Douglas", 123)).toThrow();
|
2015-12-27 01:05:25 -05:00
|
|
|
});
|
|
|
|
|
2016-04-12 12:40:37 -04:00
|
|
|
it("should return a new string with the pattern replaced", () => {
|
2016-04-22 18:33:32 -04:00
|
|
|
var result1 = pipe.transform(str, "Douglas", "Hugh");
|
2015-12-27 01:05:25 -05:00
|
|
|
|
2016-04-22 18:33:32 -04:00
|
|
|
var result2 = pipe.transform(str, RegExpWrapper.create("a"), "_");
|
2015-12-27 01:05:25 -05:00
|
|
|
|
2016-04-22 18:33:32 -04:00
|
|
|
var result3 = pipe.transform(str, RegExpWrapper.create("a", "i"), "_");
|
2015-12-27 01:05:25 -05:00
|
|
|
|
2016-04-12 12:40:37 -04:00
|
|
|
var f = (x => { return "Adams!"; });
|
2015-12-27 01:05:25 -05:00
|
|
|
|
2016-04-22 18:33:32 -04:00
|
|
|
var result4 = pipe.transform(str, "Adams", f);
|
2015-12-27 01:05:25 -05:00
|
|
|
|
2016-04-22 18:33:32 -04:00
|
|
|
var result5 = pipe.transform(someNumber, "2", "4");
|
2015-12-27 01:05:25 -05:00
|
|
|
|
2016-04-12 12:40:37 -04:00
|
|
|
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");
|
2015-12-27 01:05:25 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|