'use strict'; describe('parser', function() { describe('lexer', function() { it('should tokenize a string', function() { var tokens = lex("a.bc[22]+1.3|f:'a\\\'c':\"d\\\"e\""); var i = 0; expect(tokens[i].index).toEqual(0); expect(tokens[i].text).toEqual('a.bc'); i++; expect(tokens[i].index).toEqual(4); expect(tokens[i].text).toEqual('['); i++; expect(tokens[i].index).toEqual(5); expect(tokens[i].text).toEqual(22); i++; expect(tokens[i].index).toEqual(7); expect(tokens[i].text).toEqual(']'); i++; expect(tokens[i].index).toEqual(8); expect(tokens[i].text).toEqual('+'); i++; expect(tokens[i].index).toEqual(9); expect(tokens[i].text).toEqual(1.3); i++; expect(tokens[i].index).toEqual(12); expect(tokens[i].text).toEqual('|'); i++; expect(tokens[i].index).toEqual(13); expect(tokens[i].text).toEqual('f'); i++; expect(tokens[i].index).toEqual(14); expect(tokens[i].text).toEqual(':'); i++; expect(tokens[i].index).toEqual(15); expect(tokens[i].string).toEqual("a'c"); i++; expect(tokens[i].index).toEqual(21); expect(tokens[i].text).toEqual(':'); i++; expect(tokens[i].index).toEqual(22); expect(tokens[i].string).toEqual('d"e'); }); it('should tokenize undefined', function() { var tokens = lex("undefined"); var i = 0; expect(tokens[i].index).toEqual(0); expect(tokens[i].text).toEqual('undefined'); expect(undefined).toEqual(tokens[i].fn()); }); it('should tokenize quoted string', function() { var str = "['\\'', \"\\\"\"]"; var tokens = lex(str); expect(tokens[1].index).toEqual(1); expect(tokens[1].string).toEqual("'"); expect(tokens[3].index).toEqual(7); expect(tokens[3].string).toEqual('"'); }); it('should tokenize escaped quoted string', function() { var str = '"\\"\\n\\f\\r\\t\\v\\u00A0"'; var tokens = lex(str); expect(tokens[0].string).toEqual('"\n\f\r\t\v\u00A0'); }); it('should tokenize unicode', function() { var tokens = lex('"\\u00A0"'); expect(tokens.length).toEqual(1); expect(tokens[0].string).toEqual('\u00a0'); }); it('should ignore whitespace', function() { var tokens = lex("a \t \n \r b"); expect(tokens[0].text).toEqual('a'); expect(tokens[1].text).toEqual('b'); }); it('should tokenize relation and equality', function() { var tokens = lex("! == != < > <= >= === !=="); expect(tokens[0].text).toEqual('!'); expect(tokens[1].text).toEqual('=='); expect(tokens[2].text).toEqual('!='); expect(tokens[3].text).toEqual('<'); expect(tokens[4].text).toEqual('>'); expect(tokens[5].text).toEqual('<='); expect(tokens[6].text).toEqual('>='); expect(tokens[7].text).toEqual('==='); expect(tokens[8].text).toEqual('!=='); }); it('should tokenize logical and ternary', function() { var tokens = lex("&& || ? :"); expect(tokens[0].text).toEqual('&&'); expect(tokens[1].text).toEqual('||'); expect(tokens[2].text).toEqual('?'); expect(tokens[3].text).toEqual(':'); }); it('should tokenize statements', function() { var tokens = lex("a;b;"); expect(tokens[0].text).toEqual('a'); expect(tokens[1].text).toEqual(';'); expect(token
angular.module("ngLocale", [], ["$provide", function($provide) { var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"}; $provide.value("$locale", {"NUMBER_FORMATS":{"DECIMAL_SEP":",","GROUP_SEP":".","PATTERNS":[{"minInt":1,"minFrac":0,"macFrac":0,"posPre":"","posSuf":"","negPre":"-","negSuf":"","gSize":3,"lgSize":3,"maxFrac":3},{"minInt":1,"minFrac":2,"macFrac":0,"posPre":"","posSuf":" \u00A4","negPre":"-","negSuf":" \u00A4","gSize":3,"lgSize":3,"maxFrac":2}],"CURRENCY_SYM":"€"},"pluralCat":function (n) { if (n == 1) { return PLURAL_CATEGORY.ONE; } return PLURAL_CATEGORY.OTHER;},"DATETIME_FORMATS":{"MONTH":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"SHORTMONTH":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"DAY":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"SHORTDAY":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"AMPMS":["vorm.","nachm."],"medium":"dd.MM.yyyy HH:mm:ss","short":"dd.MM.yy HH:mm","fullDate":"EEEE, d. MMMM y","longDate":"d. MMMM y","mediumDate":"dd.MM.yyyy","shortDate":"dd.MM.yy","mediumTime":"HH:mm:ss","shortTime":"HH:mm"},"id":"de-de"}); }]);