added ng:include

This commit is contained in:
Misko Hevery 2010-04-05 14:09:25 -07:00
parent 7a4b480206
commit 1c670b2a7c
6 changed files with 55 additions and 12 deletions

Binary file not shown.

View file

@ -729,7 +729,7 @@ PopUp.onOver = function(e) {
jNode.bind(PopUp.OUT_EVENT, PopUp.onOut);
var position = jNode.position();
var de = document.documentElement;
var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
var w = self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
var hasArea = w - position.left;
var width = 300;
var title = jNode.hasClass("ng-exception") ? "EXCEPTION:" : "Validation error...";

34
test/angular-mocks.js vendored
View file

@ -1,12 +1,36 @@
function MockBrowser() {
this.url = "http://server";
this.watches = [];
var self = this, expectations = {}, requests = [];
self.url = "http://server";
self.watches = [];
self.xhr = function(method, url, callback) {
var expect = expectations[method] || {};
var response = expect[url];
if (!response) {
throw "Unexepected request for mothod '" + method + "' and url '" + url + "'.";
}
requests.push(function(){
callback(200, response);
});
};
self.xhr.expectations = expectations;
self.xhr.requests = requests;
self.xhr.expect = function(method, url) {
var expect = expectations[method] || (expectations[method] = {});
return {
respond: function(response) {
expect[url] = response;
}
};
};
self.xhr.flush = function() {
while(requests.length) {
requests.pop()();
}
};
}
MockBrowser.prototype = {
xhr: function(method, url, callback) {
},
getUrl: function(){
return this.url;

View file

@ -13,7 +13,7 @@ describe("directives", function(){
});
afterEach(function() {
model.$element.remove();
if (model && model.$element) model.$element.remove();
expect(size(jqCache)).toEqual(0);
});

View file

@ -5,14 +5,28 @@ function nakedExpect(obj) {
return expect(angular.fromJson(angular.toJson(obj)));
}
angularService('$browser', function(){
return new MockBrowser();
});
function childNode(element, index) {
return jqLite(element[0].childNodes[index]);
}
extend(angular, {
'element': jqLite,
'compile': compile,
'scope': createScope,
'copy': copy,
'extend': extend,
'foreach': foreach,
'noop':noop,
'identity':identity,
'isUndefined': isUndefined,
'isDefined': isDefined,
'isString': isString,
'isFunction': isFunction,
'isNumber': isNumber,
'isArray': isArray
});
function sortedHtml(element) {
var html = "";
(function toString(node) {

View file

@ -203,6 +203,11 @@ describe("input widget", function(){
describe('ng:include', function(){
it('should include on external file', function() {
var element = jqLite('<ng:include src="myUrl"></ng:include>');
var scope = compile(element).$init();
var scope = compile(element);
scope.$browser.xhr.expect('GET', 'myUrl').respond('hello');
scope.$init();
expect(sortedHtml(element)).toEqual('<ng:include src="myUrl" switch-instance="compiled"></ng:include>');
scope.$browser.xhr.flush();
expect(sortedHtml(element)).toEqual('<ng:include src="myUrl" switch-instance="compiled">hello</ng:include>');
});
});