import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/test_lib'; 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 = /(!)/g; var matcher = RegExpWrapper.matcher(re, '0!23!567!!'); var indexes = []; var m; while (isPresent(m = RegExpMatcherWrapper.next(matcher))) { indexes.push(m.index); expect(m[0]).toEqual('!'); expect(m[1]).toEqual('!'); expect(m.length).toBe(2); } expect(indexes).toEqual([1, 4, 8, 9]); }); it('should reset before it is reused', () => { var re = /^['"]/g; var str = "'"; expect(RegExpWrapper.test(re, str)).toEqual(true); // If not reset, the second attempt to test results in false expect(RegExpWrapper.test(re, str)).toEqual(true); }); }); 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); }); }); }