refactor(facade): inline StringWrapper (#12051)
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {NumberWrapper, StringWrapper, escapeRegExp, hasConstructor} from '../src/lang';
|
||||
import {NumberWrapper, escapeRegExp, hasConstructor} from '../src/lang';
|
||||
|
||||
class MySuperclass {}
|
||||
class MySubclass extends MySuperclass {}
|
||||
@ -50,92 +50,4 @@ export function main() {
|
||||
() => { expect(NumberWrapper.isNumeric('2a')).toBe(false); });
|
||||
});
|
||||
});
|
||||
|
||||
describe('String', () => {
|
||||
var s: string;
|
||||
|
||||
describe('slice', () => {
|
||||
beforeEach(() => { s = 'abcdefghij'; });
|
||||
|
||||
it('should return the whole string if neither start nor end are specified',
|
||||
() => { expect(StringWrapper.slice(s)).toEqual('abcdefghij'); });
|
||||
|
||||
it('should return up to the end if end is not specified',
|
||||
() => { expect(StringWrapper.slice(s, 1)).toEqual('bcdefghij'); });
|
||||
|
||||
it('should support negative start',
|
||||
() => { expect(StringWrapper.slice(s, -1)).toEqual('j'); });
|
||||
|
||||
it('should support negative end',
|
||||
() => { expect(StringWrapper.slice(s, -3, -1)).toEqual('hi'); });
|
||||
|
||||
it('should return empty string if start is greater than end', () => {
|
||||
expect(StringWrapper.slice(s, 4, 2)).toEqual('');
|
||||
expect(StringWrapper.slice(s, -2, -4)).toEqual('');
|
||||
});
|
||||
});
|
||||
|
||||
describe('stripLeft', () => {
|
||||
it('should strip the first character of the string if it matches the provided input', () => {
|
||||
var input = '~angular2 is amazing';
|
||||
var expectedOutput = 'angular2 is amazing';
|
||||
|
||||
expect(StringWrapper.stripLeft(input, '~')).toEqual(expectedOutput);
|
||||
});
|
||||
|
||||
it('should keep stripping characters from the start until the first unmatched character',
|
||||
() => {
|
||||
var input = '#####hello';
|
||||
var expectedOutput = 'hello';
|
||||
expect(StringWrapper.stripLeft(input, '#')).toEqual(expectedOutput);
|
||||
});
|
||||
|
||||
it('should not alter the provided input if the first character does not match the provided input',
|
||||
() => {
|
||||
var input = '+angular2 is amazing';
|
||||
expect(StringWrapper.stripLeft(input, '*')).toEqual(input);
|
||||
});
|
||||
|
||||
it('should not do any alterations when an empty string or null value is passed in', () => {
|
||||
expect(StringWrapper.stripLeft('', 'S')).toEqual('');
|
||||
expect(StringWrapper.stripLeft(null, 'S')).toEqual(null);
|
||||
});
|
||||
});
|
||||
|
||||
describe('stripRight', () => {
|
||||
it('should strip the first character of the string if it matches the provided input', () => {
|
||||
var input = 'angular2 is amazing!';
|
||||
var expectedOutput = 'angular2 is amazing';
|
||||
|
||||
expect(StringWrapper.stripRight(input, '!')).toEqual(expectedOutput);
|
||||
});
|
||||
|
||||
it('should not alter the provided input if the first character does not match the provided input',
|
||||
() => {
|
||||
var input = 'angular2 is amazing+';
|
||||
|
||||
expect(StringWrapper.stripRight(input, '*')).toEqual(input);
|
||||
});
|
||||
|
||||
it('should keep stripping characters from the end until the first unmatched character',
|
||||
() => {
|
||||
var input = 'hi&!&&&&&';
|
||||
var expectedOutput = 'hi&!';
|
||||
expect(StringWrapper.stripRight(input, '&')).toEqual(expectedOutput);
|
||||
});
|
||||
|
||||
it('should not do any alterations when an empty string or null value is passed in', () => {
|
||||
expect(StringWrapper.stripRight('', 'S')).toEqual('');
|
||||
expect(StringWrapper.stripRight(null, 'S')).toEqual(null);
|
||||
});
|
||||
});
|
||||
|
||||
describe('hasConstructor', () => {
|
||||
it('should be true when the type matches',
|
||||
() => { expect(hasConstructor(new MySuperclass(), MySuperclass)).toEqual(true); });
|
||||
|
||||
it('should be false for subtypes',
|
||||
() => { expect(hasConstructor(new MySubclass(), MySuperclass)).toEqual(false); });
|
||||
});
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user