mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-05-28 15:28:15 +00:00
Updated JSTD
This commit is contained in:
parent
de66a319b4
commit
d320e3d2c3
3 changed files with 141 additions and 141 deletions
Binary file not shown.
|
|
@ -19,7 +19,7 @@ TestCase("formatterTest", {
|
||||||
assertEquals(true, angular.formatter['boolean'].parse("true"));
|
assertEquals(true, angular.formatter['boolean'].parse("true"));
|
||||||
assertEquals(false, angular.formatter['boolean'].parse(""));
|
assertEquals(false, angular.formatter['boolean'].parse(""));
|
||||||
assertEquals(false, angular.formatter['boolean'].parse("false"));
|
assertEquals(false, angular.formatter['boolean'].parse("false"));
|
||||||
assertEquals(null, angular.formatter['boolean'].parse(null));
|
assertEquals(false, angular.formatter['boolean'].parse(null));
|
||||||
},
|
},
|
||||||
|
|
||||||
testNumber: function() {
|
testNumber: function() {
|
||||||
|
|
|
||||||
|
|
@ -1,177 +1,177 @@
|
||||||
LexerTest = TestCase('LexerTest');
|
desccribe('parser', function(){
|
||||||
|
describe('lexer', function(){
|
||||||
|
it('should TokenizeAString', function(){
|
||||||
|
var tokens = lex("a.bc[22]+1.3|f:'a\\\'c':\"d\\\"e\"");
|
||||||
|
var i = 0;
|
||||||
|
assertEquals(tokens[i].index, 0);
|
||||||
|
assertEquals(tokens[i].text, 'a.bc');
|
||||||
|
|
||||||
LexerTest.prototype.testTokenizeAString = function(){
|
i++;
|
||||||
var tokens = lex("a.bc[22]+1.3|f:'a\\\'c':\"d\\\"e\"");
|
assertEquals(tokens[i].index, 4);
|
||||||
var i = 0;
|
assertEquals(tokens[i].text, '[');
|
||||||
assertEquals(tokens[i].index, 0);
|
|
||||||
assertEquals(tokens[i].text, 'a.bc');
|
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 4);
|
assertEquals(tokens[i].index, 5);
|
||||||
assertEquals(tokens[i].text, '[');
|
assertEquals(tokens[i].text, 22);
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 5);
|
assertEquals(tokens[i].index, 7);
|
||||||
assertEquals(tokens[i].text, 22);
|
assertEquals(tokens[i].text, ']');
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 7);
|
assertEquals(tokens[i].index, 8);
|
||||||
assertEquals(tokens[i].text, ']');
|
assertEquals(tokens[i].text, '+');
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 8);
|
assertEquals(tokens[i].index, 9);
|
||||||
assertEquals(tokens[i].text, '+');
|
assertEquals(tokens[i].text, 1.3);
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 9);
|
assertEquals(tokens[i].index, 12);
|
||||||
assertEquals(tokens[i].text, 1.3);
|
assertEquals(tokens[i].text, '|');
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 12);
|
assertEquals(tokens[i].index, 13);
|
||||||
assertEquals(tokens[i].text, '|');
|
assertEquals(tokens[i].text, 'f');
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 13);
|
assertEquals(tokens[i].index, 14);
|
||||||
assertEquals(tokens[i].text, 'f');
|
assertEquals(tokens[i].text, ':');
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 14);
|
assertEquals(tokens[i].index, 15);
|
||||||
assertEquals(tokens[i].text, ':');
|
assertEquals(tokens[i].string, "a'c");
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 15);
|
assertEquals(tokens[i].index, 21);
|
||||||
assertEquals(tokens[i].string, "a'c");
|
assertEquals(tokens[i].text, ':');
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
assertEquals(tokens[i].index, 21);
|
assertEquals(tokens[i].index, 22);
|
||||||
assertEquals(tokens[i].text, ':');
|
assertEquals(tokens[i].string, 'd"e');
|
||||||
|
});
|
||||||
|
|
||||||
i++;
|
it('should TokenizeUndefined', function(){
|
||||||
assertEquals(tokens[i].index, 22);
|
var tokens = lex("undefined");
|
||||||
assertEquals(tokens[i].string, 'd"e');
|
var i = 0;
|
||||||
};
|
assertEquals(tokens[i].index, 0);
|
||||||
|
assertEquals(tokens[i].text, 'undefined');
|
||||||
LexerTest.prototype.testTokenizeUndefined = function(){
|
assertEquals(undefined, tokens[i].fn());
|
||||||
var tokens = lex("undefined");
|
});
|
||||||
var i = 0;
|
|
||||||
assertEquals(tokens[i].index, 0);
|
|
||||||
assertEquals(tokens[i].text, 'undefined');
|
|
||||||
assertEquals(undefined, tokens[i].fn());
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LexerTest.prototype.testTokenizeRegExp = function(){
|
it('should TokenizeRegExp', function(){
|
||||||
var tokens = lex("/r 1/");
|
var tokens = lex("/r 1/");
|
||||||
var i = 0;
|
var i = 0;
|
||||||
assertEquals(tokens[i].index, 0);
|
assertEquals(tokens[i].index, 0);
|
||||||
assertEquals(tokens[i].text, 'r 1');
|
assertEquals(tokens[i].text, 'r 1');
|
||||||
assertEquals("r 1".match(tokens[i].fn())[0], 'r 1');
|
assertEquals("r 1".match(tokens[i].fn())[0], 'r 1');
|
||||||
};
|
});
|
||||||
|
|
||||||
LexerTest.prototype.testQuotedString = function(){
|
it('should QuotedString', function(){
|
||||||
var str = "['\\'', \"\\\"\"]";
|
var str = "['\\'', \"\\\"\"]";
|
||||||
var tokens = lex(str);
|
var tokens = lex(str);
|
||||||
|
|
||||||
assertEquals(1, tokens[1].index);
|
assertEquals(1, tokens[1].index);
|
||||||
assertEquals("'", tokens[1].string);
|
assertEquals("'", tokens[1].string);
|
||||||
|
|
||||||
assertEquals(7, tokens[3].index);
|
assertEquals(7, tokens[3].index);
|
||||||
assertEquals('"', tokens[3].string);
|
assertEquals('"', tokens[3].string);
|
||||||
|
});
|
||||||
|
|
||||||
};
|
it('should QuotedStringEscape', function(){
|
||||||
|
var str = '"\\"\\n\\f\\r\\t\\v\\u00A0"';
|
||||||
|
var tokens = lex(str);
|
||||||
|
|
||||||
LexerTest.prototype.testQuotedStringEscape = function(){
|
assertEquals('"\n\f\r\t\v\u00A0', tokens[0].string);
|
||||||
var str = '"\\"\\n\\f\\r\\t\\v\\u00A0"';
|
});
|
||||||
var tokens = lex(str);
|
|
||||||
|
|
||||||
assertEquals('"\n\f\r\t\v\u00A0', tokens[0].string);
|
it('should TokenizeUnicode', function(){
|
||||||
};
|
var tokens = lex('"\\u00A0"');
|
||||||
|
assertEquals(1, tokens.length);
|
||||||
|
assertEquals('\u00a0', tokens[0].string);
|
||||||
|
});
|
||||||
|
|
||||||
LexerTest.prototype.testTokenizeUnicode = function(){
|
it('should TokenizeRegExpWithOptions', function(){
|
||||||
var tokens = lex('"\\u00A0"');
|
var tokens = lex("/r/g");
|
||||||
assertEquals(1, tokens.length);
|
var i = 0;
|
||||||
assertEquals('\u00a0', tokens[0].string);
|
assertEquals(tokens[i].index, 0);
|
||||||
};
|
assertEquals(tokens[i].text, 'r');
|
||||||
|
assertEquals(tokens[i].flags, 'g');
|
||||||
|
assertEquals("rr".match(tokens[i].fn()).length, 2);
|
||||||
|
});
|
||||||
|
|
||||||
LexerTest.prototype.testTokenizeRegExpWithOptions = function(){
|
it('should TokenizeRegExpWithEscape', function(){
|
||||||
var tokens = lex("/r/g");
|
var tokens = lex("/\\/\\d/");
|
||||||
var i = 0;
|
var i = 0;
|
||||||
assertEquals(tokens[i].index, 0);
|
assertEquals(tokens[i].index, 0);
|
||||||
assertEquals(tokens[i].text, 'r');
|
assertEquals(tokens[i].text, '\\/\\d');
|
||||||
assertEquals(tokens[i].flags, 'g');
|
assertEquals("/1".match(tokens[i].fn())[0], '/1');
|
||||||
assertEquals("rr".match(tokens[i].fn()).length, 2);
|
});
|
||||||
};
|
|
||||||
|
|
||||||
LexerTest.prototype.testTokenizeRegExpWithEscape = function(){
|
it('should IgnoreWhitespace', function(){
|
||||||
var tokens = lex("/\\/\\d/");
|
var tokens = lex("a \t \n \r b");
|
||||||
var i = 0;
|
assertEquals(tokens[0].text, 'a');
|
||||||
assertEquals(tokens[i].index, 0);
|
assertEquals(tokens[1].text, 'b');
|
||||||
assertEquals(tokens[i].text, '\\/\\d');
|
});
|
||||||
assertEquals("/1".match(tokens[i].fn())[0], '/1');
|
|
||||||
};
|
|
||||||
|
|
||||||
LexerTest.prototype.testIgnoreWhitespace = function(){
|
it('should Relation', function(){
|
||||||
var tokens = lex("a \t \n \r b");
|
var tokens = lex("! == != < > <= >=");
|
||||||
assertEquals(tokens[0].text, 'a');
|
assertEquals(tokens[0].text, '!');
|
||||||
assertEquals(tokens[1].text, 'b');
|
assertEquals(tokens[1].text, '==');
|
||||||
};
|
assertEquals(tokens[2].text, '!=');
|
||||||
|
assertEquals(tokens[3].text, '<');
|
||||||
|
assertEquals(tokens[4].text, '>');
|
||||||
|
assertEquals(tokens[5].text, '<=');
|
||||||
|
assertEquals(tokens[6].text, '>=');
|
||||||
|
});
|
||||||
|
|
||||||
LexerTest.prototype.testRelation = function(){
|
it('should Statements', function(){
|
||||||
var tokens = lex("! == != < > <= >=");
|
var tokens = lex("a;b;");
|
||||||
assertEquals(tokens[0].text, '!');
|
assertEquals(tokens[0].text, 'a');
|
||||||
assertEquals(tokens[1].text, '==');
|
assertEquals(tokens[1].text, ';');
|
||||||
assertEquals(tokens[2].text, '!=');
|
assertEquals(tokens[2].text, 'b');
|
||||||
assertEquals(tokens[3].text, '<');
|
assertEquals(tokens[3].text, ';');
|
||||||
assertEquals(tokens[4].text, '>');
|
});
|
||||||
assertEquals(tokens[5].text, '<=');
|
|
||||||
assertEquals(tokens[6].text, '>=');
|
|
||||||
};
|
|
||||||
|
|
||||||
LexerTest.prototype.testStatements = function(){
|
it('should Number', function(){
|
||||||
var tokens = lex("a;b;");
|
var tokens = lex("0.5");
|
||||||
assertEquals(tokens[0].text, 'a');
|
expect(tokens[0].text).toEqual(0.5);
|
||||||
assertEquals(tokens[1].text, ';');
|
});
|
||||||
assertEquals(tokens[2].text, 'b');
|
|
||||||
assertEquals(tokens[3].text, ';');
|
|
||||||
};
|
|
||||||
|
|
||||||
LexerTest.prototype.testNumber = function(){
|
it('should NegativeNumber', function(){
|
||||||
var tokens = lex("0.5");
|
var value = createScope().$eval("-0.5");
|
||||||
expect(tokens[0].text).toEqual(0.5);
|
expect(value).toEqual(-0.5);
|
||||||
};
|
|
||||||
|
|
||||||
LexerTest.prototype.testNegativeNumber = function(){
|
value = createScope().$eval("{a:-0.5}");
|
||||||
var value = createScope().$eval("-0.5");
|
expect(value).toEqual({a:-0.5});
|
||||||
expect(value).toEqual(-0.5);
|
});
|
||||||
|
|
||||||
value = createScope().$eval("{a:-0.5}");
|
it('should NumberExponent', function(){
|
||||||
expect(value).toEqual({a:-0.5});
|
var tokens = lex("0.5E-10");
|
||||||
};
|
expect(tokens[0].text).toEqual(0.5E-10);
|
||||||
|
expect(createScope().$eval("0.5E-10")).toEqual(0.5E-10);
|
||||||
|
|
||||||
LexerTest.prototype.testNumberExponent = function(){
|
tokens = lex("0.5E+10");
|
||||||
var tokens = lex("0.5E-10");
|
expect(tokens[0].text).toEqual(0.5E+10);
|
||||||
expect(tokens[0].text).toEqual(0.5E-10);
|
});
|
||||||
expect(createScope().$eval("0.5E-10")).toEqual(0.5E-10);
|
|
||||||
|
|
||||||
tokens = lex("0.5E+10");
|
it('should NumberExponentInvalid', function(){
|
||||||
expect(tokens[0].text).toEqual(0.5E+10);
|
assertThrows('Lexer found invalid exponential value "0.5E-"', function(){
|
||||||
};
|
lex("0.5E-");
|
||||||
|
});
|
||||||
|
assertThrows('Lexer found invalid exponential value "0.5E-A"', function(){
|
||||||
|
lex("0.5E-A");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
LexerTest.prototype.testNumberExponentInvalid = function(){
|
it('should NumberStartingWithDot', function(){
|
||||||
assertThrows('Lexer found invalid exponential value "0.5E-"', function(){
|
var tokens = lex(".5");
|
||||||
lex("0.5E-");
|
expect(tokens[0].text).toEqual(0.5);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
assertThrows('Lexer found invalid exponential value "0.5E-A"', function(){
|
});
|
||||||
lex("0.5E-A");
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
LexerTest.prototype.testNumberStartingWithDot = function(){
|
|
||||||
var tokens = lex(".5");
|
|
||||||
expect(tokens[0].text).toEqual(0.5);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
ParserTest = TestCase('ParserTest');
|
ParserTest = TestCase('ParserTest');
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue