angular.js/test/FiltersTest.js

71 lines
2.3 KiB
JavaScript
Raw Normal View History

2010-01-06 00:36:58 +00:00
FiltersTest = TestCase('FiltersTest');
2010-04-08 20:43:40 +00:00
FiltersTest.prototype.testCurrency = function(){
var html = jqLite('<span/>');
var context = {$element:html};
2010-01-09 23:02:43 +00:00
var currency = bind(context, angular.filter.currency);
2010-01-06 00:36:58 +00:00
assertEquals(currency(0), '$0.00');
2010-07-13 18:20:11 +00:00
assertEquals(html.hasClass('ng:format-negative'), false);
2010-01-06 00:36:58 +00:00
assertEquals(currency(-999), '$-999.00');
2010-07-13 18:20:11 +00:00
assertEquals(html.hasClass('ng:format-negative'), true);
2010-01-06 00:36:58 +00:00
assertEquals(currency(1234.5678), '$1,234.57');
2010-07-13 18:20:11 +00:00
assertEquals(html.hasClass('ng:format-negative'), false);
2010-01-06 00:36:58 +00:00
};
2010-04-07 23:36:33 +00:00
FiltersTest.prototype.testFilterThisIsContext = function(){
expectAsserts(1);
var scope = createScope();
scope.name = 'misko';
2010-01-06 00:36:58 +00:00
angular.filter.testFn = function () {
assertEquals('scope not equal', 'misko', this.name);
2010-01-06 00:36:58 +00:00
};
2010-04-07 23:36:33 +00:00
scope.$eval("0|testFn");
2010-01-06 00:36:58 +00:00
delete angular.filter['testFn'];
};
2010-04-08 20:43:40 +00:00
FiltersTest.prototype.testNumberFormat = function(){
var context = {jqElement:jqLite('<span/>')};
2010-01-09 23:02:43 +00:00
var number = bind(context, angular.filter.number);
2010-01-06 00:36:58 +00:00
assertEquals('0', number(0, 0));
assertEquals('0.00', number(0));
assertEquals('-999.00', number(-999));
assertEquals('1,234.57', number(1234.5678));
assertEquals('', number(Number.NaN));
assertEquals('1,234.57', number("1234.5678"));
assertEquals("", number(1/0));
};
2010-04-08 20:43:40 +00:00
FiltersTest.prototype.testJson = function () {
assertEquals(toJson({a:"b"}, true), angular.filter.json.call({$element:jqLite('<div></div>')}, {a:"b"}));
2010-01-06 00:36:58 +00:00
};
2010-04-08 20:43:40 +00:00
FiltersTest.prototype.testLowercase = function() {
2010-01-06 00:36:58 +00:00
assertEquals('abc', angular.filter.lowercase('AbC'));
assertEquals(null, angular.filter.lowercase(null));
};
2010-04-08 20:43:40 +00:00
FiltersTest.prototype.testUppercase = function() {
2010-01-06 00:36:58 +00:00
assertEquals('ABC', angular.filter.uppercase('AbC'));
assertEquals(null, angular.filter.uppercase(null));
};
2010-04-08 20:43:40 +00:00
FiltersTest.prototype.testHtml = function() {
2010-04-23 00:11:56 +00:00
var html = angular.filter.html("a<b>c</b>d");
expect(html instanceof HTML).toBeTruthy();
expect(html.html).toEqual("a<b>c</b>d");
2010-01-06 00:36:58 +00:00
};
2010-01-19 01:56:08 +00:00
2010-04-08 20:43:40 +00:00
FiltersTest.prototype.testLinky = function() {
2010-01-20 14:52:50 +00:00
var linky = angular.filter.linky;
2010-01-19 01:56:08 +00:00
assertEquals(
2010-04-21 21:29:05 +00:00
'<a href="http://ab/">http://ab/</a> ' +
'(<a href="http://a/">http://a/</a>) ' +
'&lt;<a href="http://a/">http://a/</a>&gt; ' +
2010-01-20 14:52:50 +00:00
'<a href="http://1.2/v:~-123">http://1.2/v:~-123</a>. c',
2010-04-23 00:11:56 +00:00
linky("http://ab/ (http://a/) <http://a/> http://1.2/v:~-123. c").html);
2010-01-20 14:52:50 +00:00
assertEquals(undefined, linky(undefined));
2010-01-19 01:56:08 +00:00
};