work on $location and autobind

This commit is contained in:
Misko Hevery
2010-04-01 14:10:28 -07:00
parent 11a6431f89
commit 85f13d602e
8 changed files with 68 additions and 54 deletions

View File

@@ -721,13 +721,13 @@ BinderTest.prototype.testItShouldSelectTheCorrectRadioBox = function() {
var male = jqLite(c.node[0].childNodes[1]);
female.click();
assertEquals("female", c.scope.$get("sex"));
assertEquals("female", c.scope.sex);
assertEquals(true, female[0].checked);
assertEquals(false, male[0].checked);
assertEquals("female", female.val());
male.click();
assertEquals("male", c.scope.$get("sex"));
assertEquals("male", c.scope.sex);
assertEquals(false, female[0].checked);
assertEquals(true, male[0].checked);
assertEquals("male", male.val());

View File

@@ -13,10 +13,17 @@ describe("services", function(){
expect(scope.$window).toEqual(window);
});
it("should inject $anchor", function(){
scope.$anchor('#path?key=value');
expect(scope.$anchor.path).toEqual("path");
expect(scope.$anchor.param).toEqual({key:'value'});
it("should inject $location", function(){
scope.$location('http://host:1234/p/a/t/h?query=value#path?key=value');
expect(scope.$location.href).toEqual("http://host:123/p/a/t/h?query=value#path?key=value");
expect(scope.$location.protocol).toEqual("http");
expect(scope.$location.host).toEqual("host");
expect(scope.$location.port).toEqual("1234");
expect(scope.$location.path).toEqual("/p/a/t/h");
expect(scope.$location.search).toEqual({query:'value'});
expect(scope.$location.hash).toEqual('path?key=value');
expect(scope.$location.hashPath).toEqual('path');
expect(scope.$location.hashSearch).toEqual({key:'value'});
scope.$anchor.path = 'page=http://path';
scope.$anchor.param = {k:'a=b'};