diff options
| author | Misko Hevery | 2011-06-21 12:29:18 -0700 | 
|---|---|---|
| committer | Igor Minar | 2011-06-23 08:12:01 -0700 | 
| commit | 8e880fcb77bdcca2fd4a25f1333acc45dca75d8b (patch) | |
| tree | 5a3ea7feecc68f933c747220ba145f5e53d355f6 /test | |
| parent | b74163dc1d321b878222a751f23adb0a9f6beda5 (diff) | |
| download | angular.js-8e880fcb77bdcca2fd4a25f1333acc45dca75d8b.tar.bz2 | |
style:ApiSpecs - clean up test names to match jasmine conventions
Diffstat (limited to 'test')
| -rw-r--r-- | test/ApiSpecs.js | 412 | 
1 files changed, 215 insertions, 197 deletions
diff --git a/test/ApiSpecs.js b/test/ApiSpecs.js index f50f22cd..1257ad4a 100644 --- a/test/ApiSpecs.js +++ b/test/ApiSpecs.js @@ -1,269 +1,287 @@  describe('api', function(){ -  it('ShouldReturnTypeOf', function(){ -    assertEquals("undefined", angular.Object.typeOf(undefined)); -    assertEquals("null", angular.Object.typeOf(null)); -    assertEquals("object", angular.Collection.typeOf({})); -    assertEquals("array", angular.Array.typeOf([])); -    assertEquals("string", angular.Object.typeOf("")); -    assertEquals("date", angular.Object.typeOf(new Date())); -    assertEquals("element", angular.Object.typeOf(document.body)); -    assertEquals($function, angular.Object.typeOf(function(){})); +  describe('HashMap', function(){ +    it('should do basic crud', function(){ +      var map = new HashMap(); +      var key = {}; +      var value1 = {}; +      var value2 = {}; +      expect(map.put(key, value1)).toEqual(undefined); +      expect(map.put(key, value2)).toEqual(value1); +      expect(map.get(key)).toEqual(value2); +      expect(map.get({})).toEqual(undefined); +      expect(map.remove(key)).toEqual(value2); +      expect(map.get(key)).toEqual(undefined); +    }); +  }); + + +  describe('Object', function(){ + +    it('should return type of', function(){ +      assertEquals("undefined", angular.Object.typeOf(undefined)); +      assertEquals("null", angular.Object.typeOf(null)); +      assertEquals("object", angular.Collection.typeOf({})); +      assertEquals("array", angular.Array.typeOf([])); +      assertEquals("string", angular.Object.typeOf("")); +      assertEquals("date", angular.Object.typeOf(new Date())); +      assertEquals("element", angular.Object.typeOf(document.body)); +      assertEquals($function, angular.Object.typeOf(function(){})); +    }); + +    it('should extend object', function(){ +      assertEquals({a:1, b:2}, angular.Object.extend({a:1}, {b:2})); +    }); +    }); -  it('ShouldReturnSize', function(){ + +  it('should return size', function(){      assertEquals(0, angular.Collection.size({}));      assertEquals(1, angular.Collection.size({a:"b"}));      assertEquals(0, angular.Object.size({}));      assertEquals(1, angular.Array.size([0]));    }); -  it('should sum', function(){ -    assertEquals(3, angular.Array.sum([{a:"1"}, {a:"2"}], 'a')); -  }); +  describe('Array', function(){ -  it('SumContainingNaN', function(){ -    assertEquals(1, angular.Array.sum([{a:1}, {a:Number.NaN}], 'a')); -    assertEquals(1, angular.Array.sum([{a:1}, {a:Number.NaN}], function($){return $.a;})); -  }); +    describe('sum', function(){ -  it('Index', function(){ -    assertEquals(angular.Array.indexOf(['a'], 'a'), 0); -    assertEquals(angular.Array.indexOf(['a', 'b'], 'a'), 0); -    assertEquals(angular.Array.indexOf(['b', 'a'], 'a'), 1); -    assertEquals(angular.Array.indexOf(['b', 'b'],'x'), -1); -  }); +      it('should sum', function(){ +        assertEquals(3, angular.Array.sum([{a:"1"}, {a:"2"}], 'a')); +      }); -  it('Remove', function(){ -    var items = ['a', 'b', 'c']; -    assertEquals(angular.Array.remove(items, 'q'), 'q'); -    assertEquals(items.length, 3); +      it('should sum containing NaN', function(){ +        assertEquals(1, angular.Array.sum([{a:1}, {a:Number.NaN}], 'a')); +        assertEquals(1, angular.Array.sum([{a:1}, {a:Number.NaN}], function($){return $.a;})); +      }); -    assertEquals(angular.Array.remove(items, 'b'), 'b'); -    assertEquals(items.length, 2); +    }); -    assertEquals(angular.Array.remove(items, 'a'), 'a'); -    assertEquals(items.length, 1); +    it('should find indexOf', function(){ +      assertEquals(angular.Array.indexOf(['a'], 'a'), 0); +      assertEquals(angular.Array.indexOf(['a', 'b'], 'a'), 0); +      assertEquals(angular.Array.indexOf(['b', 'a'], 'a'), 1); +      assertEquals(angular.Array.indexOf(['b', 'b'],'x'), -1); +    }); -    assertEquals(angular.Array.remove(items, 'c'), 'c'); -    assertEquals(items.length, 0); +    it('should remove item from array', function(){ +      var items = ['a', 'b', 'c']; +      assertEquals(angular.Array.remove(items, 'q'), 'q'); +      assertEquals(items.length, 3); -    assertEquals(angular.Array.remove(items, 'q'), 'q'); -    assertEquals(items.length, 0); -  }); +      assertEquals(angular.Array.remove(items, 'b'), 'b'); +      assertEquals(items.length, 2); -  describe('filter', function(){ +      assertEquals(angular.Array.remove(items, 'a'), 'a'); +      assertEquals(items.length, 1); -    it('Filter', function() { -      var items = ["MIsKO", {name:"shyam"}, ["adam"], 1234]; -      assertEquals(4, angular.Array.filter(items, "").length); -      assertEquals(4, angular.Array.filter(items, undefined).length); +      assertEquals(angular.Array.remove(items, 'c'), 'c'); +      assertEquals(items.length, 0); -      assertEquals(1, angular.Array.filter(items, 'iSk').length); -      assertEquals("MIsKO", angular.Array.filter(items, 'isk')[0]); +      assertEquals(angular.Array.remove(items, 'q'), 'q'); +      assertEquals(items.length, 0); +    }); -      assertEquals(1, angular.Array.filter(items, 'yam').length); -      assertEquals(items[1], angular.Array.filter(items, 'yam')[0]); +    describe('filter', function(){ -      assertEquals(1, angular.Array.filter(items, 'da').length); -      assertEquals(items[2], angular.Array.filter(items, 'da')[0]); +      it('should filter by string', function() { +        var items = ["MIsKO", {name:"shyam"}, ["adam"], 1234]; +        assertEquals(4, angular.Array.filter(items, "").length); +        assertEquals(4, angular.Array.filter(items, undefined).length); -      assertEquals(1, angular.Array.filter(items, '34').length); -      assertEquals(1234, angular.Array.filter(items, '34')[0]); +        assertEquals(1, angular.Array.filter(items, 'iSk').length); +        assertEquals("MIsKO", angular.Array.filter(items, 'isk')[0]); -      assertEquals(0, angular.Array.filter(items, "I don't exist").length); -    }); +        assertEquals(1, angular.Array.filter(items, 'yam').length); +        assertEquals(items[1], angular.Array.filter(items, 'yam')[0]); -    it('ShouldNotFilterOnSystemData', function() { -      assertEquals("", "".charAt(0)); // assumption -      var items = [{$name:"misko"}]; -      assertEquals(0, angular.Array.filter(items, "misko").length); -    }); +        assertEquals(1, angular.Array.filter(items, 'da').length); +        assertEquals(items[2], angular.Array.filter(items, 'da')[0]); -    it('FilterOnSpecificProperty', function(){ -      var items = [{ignore:"a", name:"a"}, {ignore:"a", name:"abc"}]; -      assertEquals(2, angular.Array.filter(items, {}).length); +        assertEquals(1, angular.Array.filter(items, '34').length); +        assertEquals(1234, angular.Array.filter(items, '34')[0]); -      assertEquals(2, angular.Array.filter(items, {name:'a'}).length); +        assertEquals(0, angular.Array.filter(items, "I don't exist").length); +      }); -      assertEquals(1, angular.Array.filter(items, {name:'b'}).length); -      assertEquals("abc", angular.Array.filter(items, {name:'b'})[0].name); -    }); +      it('should not read $ properties', function() { +        assertEquals("", "".charAt(0)); // assumption +        var items = [{$name:"misko"}]; +        assertEquals(0, angular.Array.filter(items, "misko").length); +      }); -    it('FilterOnFunction', function(){ -      var items = [{name:"a"}, {name:"abc", done:true}]; -      assertEquals(1, angular.Array.filter(items, function(i){return i.done;}).length); -    }); +      it('should filter on specific property', function(){ +        var items = [{ignore:"a", name:"a"}, {ignore:"a", name:"abc"}]; +        assertEquals(2, angular.Array.filter(items, {}).length); -    it('FilterIsAndFunction', function(){ -      var items = [{first:"misko", last:"hevery"}, -                   {first:"adam", last:"abrons"}]; +        assertEquals(2, angular.Array.filter(items, {name:'a'}).length); -      assertEquals(2, angular.Array.filter(items, {first:'', last:''}).length); -      assertEquals(1, angular.Array.filter(items, {first:'', last:'hevery'}).length); -      assertEquals(0, angular.Array.filter(items, {first:'adam', last:'hevery'}).length); -      assertEquals(1, angular.Array.filter(items, {first:'misko', last:'hevery'}).length); -      assertEquals(items[0], angular.Array.filter(items, {first:'misko', last:'hevery'})[0]); -    }); +        assertEquals(1, angular.Array.filter(items, {name:'b'}).length); +        assertEquals("abc", angular.Array.filter(items, {name:'b'})[0].name); +      }); -    it('FilterNot', function(){ -      var items = ["misko", "adam"]; +      it('should take function as predicate', function(){ +        var items = [{name:"a"}, {name:"abc", done:true}]; +        assertEquals(1, angular.Array.filter(items, function(i){return i.done;}).length); +      }); -      assertEquals(1, angular.Array.filter(items, '!isk').length); -      assertEquals(items[1], angular.Array.filter(items, '!isk')[0]); -    }); -  }); +      it('should take object as perdicate', function(){ +        var items = [{first:"misko", last:"hevery"}, +                     {first:"adam", last:"abrons"}]; +        assertEquals(2, angular.Array.filter(items, {first:'', last:''}).length); +        assertEquals(1, angular.Array.filter(items, {first:'', last:'hevery'}).length); +        assertEquals(0, angular.Array.filter(items, {first:'adam', last:'hevery'}).length); +        assertEquals(1, angular.Array.filter(items, {first:'misko', last:'hevery'}).length); +        assertEquals(items[0], angular.Array.filter(items, {first:'misko', last:'hevery'})[0]); +      }); -  describe('limit', function() { -    var items; +      it('should support negation operator', function(){ +        var items = ["misko", "adam"]; -    beforeEach(function() { -      items = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; +        assertEquals(1, angular.Array.filter(items, '!isk').length); +        assertEquals(items[1], angular.Array.filter(items, '!isk')[0]); +      });      }); -    it('should return the first X items when X is positive', function() { -      expect(angular.Array.limitTo(items, 3)).toEqual(['a', 'b', 'c']); -      expect(angular.Array.limitTo(items, '3')).toEqual(['a', 'b', 'c']); -    }); +    describe('limit', function() { +      var items; +      beforeEach(function() { +        items = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']; +      }); -    it('should return the last X items when X is negative', function() { -      expect(angular.Array.limitTo(items, -3)).toEqual(['f', 'g', 'h']); -      expect(angular.Array.limitTo(items, '-3')).toEqual(['f', 'g', 'h']); -    }); +      it('should return the first X items when X is positive', function() { +        expect(angular.Array.limitTo(items, 3)).toEqual(['a', 'b', 'c']); +        expect(angular.Array.limitTo(items, '3')).toEqual(['a', 'b', 'c']); +      }); -    it('should return an empty array when X cannot be parsed', function() { -      expect(angular.Array.limitTo(items, 'bogus')).toEqual([]); -      expect(angular.Array.limitTo(items, 'null')).toEqual([]); -      expect(angular.Array.limitTo(items, 'undefined')).toEqual([]); -      expect(angular.Array.limitTo(items, null)).toEqual([]); -      expect(angular.Array.limitTo(items, undefined)).toEqual([]); -    }); -  }); +      it('should return the last X items when X is negative', function() { +        expect(angular.Array.limitTo(items, -3)).toEqual(['f', 'g', 'h']); +        expect(angular.Array.limitTo(items, '-3')).toEqual(['f', 'g', 'h']); +      }); -  it('Add', function(){ -    var add = angular.Array.add; -    assertJsonEquals([{}, "a"], add(add([]),"a")); -  }); -  it('Count', function(){ -    var array = [{name:'a'},{name:'b'},{name:''}]; -    var obj = {}; +      it('should return an empty array when X cannot be parsed', function() { +        expect(angular.Array.limitTo(items, 'bogus')).toEqual([]); +        expect(angular.Array.limitTo(items, 'null')).toEqual([]); +        expect(angular.Array.limitTo(items, 'undefined')).toEqual([]); +        expect(angular.Array.limitTo(items, null)).toEqual([]); +        expect(angular.Array.limitTo(items, undefined)).toEqual([]); +      }); +    }); -    assertEquals(3, angular.Array.count(array)); -    assertEquals(2, angular.Array.count(array, 'name')); -    assertEquals(1, angular.Array.count(array, 'name=="a"')); -  }); -  describe('orderBy', function(){ -    var orderBy; -    beforeEach(function(){ -      orderBy = angular.Array.orderBy; +    it('add', function(){ +      var add = angular.Array.add; +      assertJsonEquals([{}, "a"], add(add([]),"a"));      }); -    it('should return same array if predicate is falsy', function(){ -      var array = [1, 2, 3]; -      expect(orderBy(array)).toBe(array); -    }); +    it('count', function(){ +      var array = [{name:'a'},{name:'b'},{name:''}]; +      var obj = {}; -    it('ShouldSortArrayInReverse', function(){ -      assertJsonEquals([{a:15},{a:2}], angular.Array.orderBy([{a:15},{a:2}], 'a', true)); -      assertJsonEquals([{a:15},{a:2}], angular.Array.orderBy([{a:15},{a:2}], 'a', "T")); -      assertJsonEquals([{a:15},{a:2}], angular.Array.orderBy([{a:15},{a:2}], 'a', "reverse")); +      assertEquals(3, angular.Array.count(array)); +      assertEquals(2, angular.Array.count(array, 'name')); +      assertEquals(1, angular.Array.count(array, 'name=="a"'));      }); -    it('ShouldSortArrayByPredicate', function(){ -      assertJsonEquals([{a:2, b:1},{a:15, b:1}], -          angular.Array.orderBy([{a:15, b:1},{a:2, b:1}], ['a', 'b'])); -      assertJsonEquals([{a:2, b:1},{a:15, b:1}], -          angular.Array.orderBy([{a:15, b:1},{a:2, b:1}], ['b', 'a'])); -      assertJsonEquals([{a:15, b:1},{a:2, b:1}], -          angular.Array.orderBy([{a:15, b:1},{a:2, b:1}], ['+b', '-a'])); -    }); +    describe('orderBy', function(){ +      var orderBy; +      beforeEach(function(){ +        orderBy = angular.Array.orderBy; +      }); + +      it('should return same array if predicate is falsy', function(){ +        var array = [1, 2, 3]; +        expect(orderBy(array)).toBe(array); +      }); + +      it('shouldSortArrayInReverse', function(){ +        assertJsonEquals([{a:15},{a:2}], angular.Array.orderBy([{a:15},{a:2}], 'a', true)); +        assertJsonEquals([{a:15},{a:2}], angular.Array.orderBy([{a:15},{a:2}], 'a', "T")); +        assertJsonEquals([{a:15},{a:2}], angular.Array.orderBy([{a:15},{a:2}], 'a', "reverse")); +      }); + +      it('should sort array by predicate', function(){ +        assertJsonEquals([{a:2, b:1},{a:15, b:1}], +            angular.Array.orderBy([{a:15, b:1},{a:2, b:1}], ['a', 'b'])); +        assertJsonEquals([{a:2, b:1},{a:15, b:1}], +            angular.Array.orderBy([{a:15, b:1},{a:2, b:1}], ['b', 'a'])); +        assertJsonEquals([{a:15, b:1},{a:2, b:1}], +            angular.Array.orderBy([{a:15, b:1},{a:2, b:1}], ['+b', '-a'])); +      }); + +      it('should use function', function(){ +        expect( +          orderBy( +            [{a:15, b:1},{a:2, b:1}], +            function(value){ return value.a; })). +        toEqual([{a:2, b:1},{a:15, b:1}]); +      }); -    it('should use function', function(){ -      expect( -        orderBy( -          [{a:15, b:1},{a:2, b:1}], -          function(value){ return value.a; })). -      toEqual([{a:2, b:1},{a:15, b:1}]);      });    }); -  it('QuoteString', function(){ -    assertEquals(angular.String.quote('a'), '"a"'); -    assertEquals(angular.String.quote('\\'), '"\\\\"'); -    assertEquals(angular.String.quote("'a'"), '"\'a\'"'); -    assertEquals(angular.String.quote('"a"'), '"\\"a\\""'); -    assertEquals(angular.String.quote('\n\f\r\t'), '"\\n\\f\\r\\t"'); -  }); +  describe('string', function(){ -  it('QuoteStringBug', function(){ -    assertEquals('"7\\\\\\\"7"', angular.String.quote("7\\\"7")); -  }); +    it('should quote', function(){ +      assertEquals(angular.String.quote('a'), '"a"'); +      assertEquals(angular.String.quote('\\'), '"\\\\"'); +      assertEquals(angular.String.quote("'a'"), '"\'a\'"'); +      assertEquals(angular.String.quote('"a"'), '"\\"a\\""'); +      assertEquals(angular.String.quote('\n\f\r\t'), '"\\n\\f\\r\\t"'); +    }); -  it('QuoteUnicode', function(){ -    assertEquals('"abc\\u00a0def"', angular.String.quoteUnicode('abc\u00A0def')); -  }); +    it('should quote slashes', function(){ +      assertEquals('"7\\\\\\\"7"', angular.String.quote("7\\\"7")); +    }); -  it('DateToUTC', function(){ -    var date = new Date("Sep 10 2003 13:02:03 GMT"); -    assertEquals("date", angular.Object.typeOf(date)); -    assertEquals("2003-09-10T13:02:03.000Z", angular.Date.toString(date)); -    assertEquals(date.getTime(), angular.String.toDate(angular.Date.toString(date)).getTime()); -  }); +    it('should quote unicode', function(){ +      assertEquals('"abc\\u00a0def"', angular.String.quoteUnicode('abc\u00A0def')); +    }); -  it('UTCtoDate', function(){ -    //full ISO8061 -    expect(angular.String.toDate("2003-09-10T13:02:03.000Z")). -      toEqual(new Date("Sep 10 2003 13:02:03 GMT")); +    it('should read/write to date', function(){ +      var date = new Date("Sep 10 2003 13:02:03 GMT"); +      assertEquals("date", angular.Object.typeOf(date)); +      assertEquals("2003-09-10T13:02:03.000Z", angular.Date.toString(date)); +      assertEquals(date.getTime(), angular.String.toDate(angular.Date.toString(date)).getTime()); +    }); -    //no millis -    expect(angular.String.toDate("2003-09-10T13:02:03Z")). -      toEqual(new Date("Sep 10 2003 13:02:03 GMT")); +    it('should convert to date', function(){ +      //full ISO8061 +      expect(angular.String.toDate("2003-09-10T13:02:03.000Z")). +        toEqual(new Date("Sep 10 2003 13:02:03 GMT")); -    //no seconds -    expect(angular.String.toDate("2003-09-10T13:02Z")). -      toEqual(new Date("Sep 10 2003 13:02:00 GMT")); +      //no millis +      expect(angular.String.toDate("2003-09-10T13:02:03Z")). +        toEqual(new Date("Sep 10 2003 13:02:03 GMT")); -    //no minutes -    expect(angular.String.toDate("2003-09-10T13Z")). -      toEqual(new Date("Sep 10 2003 13:00:00 GMT")); +      //no seconds +      expect(angular.String.toDate("2003-09-10T13:02Z")). +        toEqual(new Date("Sep 10 2003 13:02:00 GMT")); -    //no time -    expect(angular.String.toDate("2003-09-10")). -      toEqual(new Date("Sep 10 2003 00:00:00 GMT")); -  }); +      //no minutes +      expect(angular.String.toDate("2003-09-10T13Z")). +        toEqual(new Date("Sep 10 2003 13:00:00 GMT")); -  it('StringFromUTC', function(){ -    var date = angular.String.toDate("2003-09-10T13:02:03.000Z"); -    assertEquals("date", angular.Object.typeOf(date)); -    assertEquals("2003-09-10T13:02:03.000Z", angular.Date.toString(date)); -    assertEquals("str", angular.String.toDate("str")); -  }); - -  it('ObjectShouldHaveExtend', function(){ -    assertEquals({a:1, b:2}, angular.Object.extend({a:1}, {b:2})); -  }); +      //no time +      expect(angular.String.toDate("2003-09-10")). +        toEqual(new Date("Sep 10 2003 00:00:00 GMT")); +    }); -  describe('HashMap', function(){ -    it('should do basic crud', function(){ -      var map = new HashMap(); -      var key = {}; -      var value1 = {}; -      var value2 = {}; -      expect(map.put(key, value1)).toEqual(undefined); -      expect(map.put(key, value2)).toEqual(value1); -      expect(map.get(key)).toEqual(value2); -      expect(map.get({})).toEqual(undefined); -      expect(map.remove(key)).toEqual(value2); -      expect(map.get(key)).toEqual(undefined); +    it('should parse date', function(){ +      var date = angular.String.toDate("2003-09-10T13:02:03.000Z"); +      assertEquals("date", angular.Object.typeOf(date)); +      assertEquals("2003-09-10T13:02:03.000Z", angular.Date.toString(date)); +      assertEquals("str", angular.String.toDate("str"));      }); +    });  });  | 
