aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--angular-debug.js28
-rw-r--r--jstd.log773
-rw-r--r--src/services.js7
-rw-r--r--src/widgets.js10
-rw-r--r--test/BinderTest.js6
-rw-r--r--test/directivesSpec.js10
-rw-r--r--test/servicesSpec.js4
7 files changed, 804 insertions, 34 deletions
diff --git a/angular-debug.js b/angular-debug.js
index f5172ff6..c3f419f7 100644
--- a/angular-debug.js
+++ b/angular-debug.js
@@ -107,7 +107,7 @@ function extensionMap(angular, name) {
}
function jqLiteWrap(element) {
- if (typeof element == 'string') {
+ if (isString(element)) {
var div = document.createElement('div');
div.innerHTML = element;
element = div.childNodes[0];
@@ -126,6 +126,12 @@ function lowercase(value){ return isString(value) ? value.toLowerCase() : value;
function uppercase(value){ return isString(value) ? value.toUpperCase() : value; }
function trim(value) { return isString(value) ? value.replace(/^\s*/, '').replace(/\s*$/, '') : value; }
function nodeName(element) { return (element[0] || element).nodeName; }
+
+function isVisible(element) {
+ var rect = element[0].getBoundingClientRect();
+ return rect.width !=0 && rect.height !=0;
+}
+
function map(obj, iterator, context) {
var results = [];
foreach(obj, function(value, index, list) {
@@ -1940,6 +1946,11 @@ JQLite.prototype = {
this[0].className = trim((" " + this[0].className + " ").replace(/[\n\t]/g, " ").replace(" " + selector + " ", ""));
},
+ toggleClass: function(selector, condition) {
+ var self = this;
+ (condition ? self.addClass : self.removeClass).call(self, selector);
+ },
+
addClass: function( selector ) {
if (!this.hasClass(selector)) {
this[0].className = trim(this[0].className + ' ' + selector);
@@ -2361,7 +2372,7 @@ var angularFilterGoogleChartApi;
foreach({
'currency': function(amount){
- jQuery(this.$element).toggleClass('ng-format-negative', amount < 0);
+ this.$element.toggleClass('ng-format-negative', amount < 0);
return '$' + angularFilter['number'].apply(this, [amount, 2]);
},
@@ -2397,7 +2408,7 @@ foreach({
},
'json': function(object) {
- jQuery(this.$element).addClass("ng-monospace");
+ this.$element.addClass("ng-monospace");
return toJson(object, true);
},
@@ -3124,7 +3135,9 @@ function valueAccessor(scope, element) {
required = required || required === '';
if (!validator) throw "Validator named '" + validatorName + "' not found.";
function validate(value) {
- var error = required && !trim(value) ? "Required" : validator({state:scope, scope:{get:scope.$get, set:scope.$set}}, value);
+ var error = required && !trim(value) ?
+ "Required" :
+ validator({state:scope, scope:{get:scope.$get, set:scope.$set}}, value);
if (error !== lastError) {
elementError(element, NG_VALIDATION_ERROR, error);
lastError = error;
@@ -3450,6 +3463,13 @@ angularService("$invalidWidgets", function(){
if (index === -1)
invalidWidgets.push(element);
};
+ invalidWidgets.visible = function() {
+ var count = 0;
+ foreach(invalidWidgets, function(widget){
+ count = count + (isVisible(widget) ? 1 : 0);
+ });
+ return count;
+ };
return invalidWidgets;
});
var browserSingleton;
diff --git a/jstd.log b/jstd.log
index df60db2e..950b6ce4 100644
--- a/jstd.log
+++ b/jstd.log
@@ -1,11 +1,762 @@
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
-java.lang.IllegalArgumentException: /com/google/jstestdriver/javascript/mysrc: resource is null
+Apr 8, 2010 2:04:32 PM com.google.jstestdriver.ServerStartupAction run
+INFO: Starting server...
+Apr 8, 2010 2:04:32 PM org.mortbay.log.Slf4jLog info
+INFO: Transparent ProxyServlet @ forward to http://localhost:9876
+Apr 8, 2010 2:04:33 PM com.google.jstestdriver.BrowserHunter captureBrowser
+INFO: Browser Captured: Firefox version 3.6.3 (1)
+Apr 8, 2010 2:04:33 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1?start HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:04:33 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:04:36 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1?start HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:04:43 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:04:53 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:05:04 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:05:14 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:05:24 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:05:34 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:05:44 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:05:54 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:06:04 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:06:14 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:06:24 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:06:34 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:06:44 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:06:54 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:07:04 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:07:14 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:07:24 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:07:34 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Pragma: no-cache
+Cache-Control: no-cache
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+
+
+Apr 8, 2010 2:07:44 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:07:55 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:08:05 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:08:15 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:08:25 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:08:35 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:08:45 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:08:55 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:09:05 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:09:15 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:09:25 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:09:35 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:09:45 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:09:55 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Pragma: no-cache
+Cache-Control: no-cache
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+
+
+Apr 8, 2010 2:10:05 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:10:15 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:10:25 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:10:35 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:10:45 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Content-Type: text/plain; charset=UTF-8
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:10:55 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1?start HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+Pragma: no-cache
+Cache-Control: no-cache
+
+
+Apr 8, 2010 2:10:56 PM com.google.jstestdriver.BrowserQueryResponseServlet doPost
+FINEST: POST: POST /query/1 HTTP/1.1
+Host: misko.i:9876
+User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
+Accept: */*
+Accept-Language: en-us,en;q=0.5
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 115
+Connection: keep-alive
+Referer: http://misko.i:9876/slave/1/Runnerstrict.html
+Pragma: no-cache
+Cache-Control: no-cache
+Content-Type: text/plain; charset=UTF-8
+X-Requested-With: XMLHttpRequest
+Content-Length: 0
+
+
diff --git a/src/services.js b/src/services.js
index 291e1704..6e1a1945 100644
--- a/src/services.js
+++ b/src/services.js
@@ -100,5 +100,12 @@ angularService("$invalidWidgets", function(){
if (index === -1)
invalidWidgets.push(element);
};
+ invalidWidgets.visible = function() {
+ var count = 0;
+ foreach(invalidWidgets, function(widget){
+ count = count + (isVisible(widget) ? 1 : 0);
+ });
+ return count;
+ };
return invalidWidgets;
});
diff --git a/src/widgets.js b/src/widgets.js
index faa60043..f87c1d02 100644
--- a/src/widgets.js
+++ b/src/widgets.js
@@ -22,20 +22,18 @@ function valueAccessor(scope, element) {
var validatorName = element.attr('ng-validate') || NOOP,
validator = compileValidator(validatorName),
required = element.attr('ng-required'),
- lastError, lastVisible,
+ lastError,
invalidWidgets = scope.$invalidWidgets || {markValid:noop, markInvalid:noop};
required = required || required === '';
if (!validator) throw "Validator named '" + validatorName + "' not found.";
function validate(value) {
var error = required && !trim(value) ?
"Required" :
- validator({state:scope, scope:{get:scope.$get, set:scope.$set}}, value),
- visible = isVisible(element);
- if (error !== lastError || visible !== lastVisible) {
+ validator({state:scope, scope:{get:scope.$get, set:scope.$set}}, value);
+ if (error !== lastError) {
elementError(element, NG_VALIDATION_ERROR, error);
lastError = error;
- lastVisible = visible;
- if (error && visible)
+ if (error)
invalidWidgets.markInvalid(element);
else
invalidWidgets.markValid(element);
diff --git a/test/BinderTest.js b/test/BinderTest.js
index e72afa9f..ec0c1cb4 100644
--- a/test/BinderTest.js
+++ b/test/BinderTest.js
@@ -506,10 +506,8 @@ BinderTest.prototype.testFillInOptionValueWhenMissing = function() {
};
BinderTest.prototype.testValidateForm = function() {
- var doc = jqLite(document.body);
- doc.append('<div><input name="name" ng-required>' +
+ var c = this.compile('<div><input name="name" ng-required>' +
'<div ng-repeat="item in items"><input name="item.name" ng-required/></div></div>');
- var c = this.compile(doc);
var items = [{}, {}];
c.scope.$set("items", items);
c.scope.$eval();
@@ -545,7 +543,7 @@ BinderTest.prototype.testValidateOnlyVisibleItems = function(){
c.scope.$set("show", false);
c.scope.$eval();
- assertEquals(1, c.scope.$get("$invalidWidgets.length"));
+ assertEquals(1, c.scope.$invalidWidgets.visible());
};
BinderTest.prototype.testDeleteAttributeIfEvaluatesFalse = function() {
diff --git a/test/directivesSpec.js b/test/directivesSpec.js
index 0af61997..1def9584 100644
--- a/test/directivesSpec.js
+++ b/test/directivesSpec.js
@@ -141,22 +141,20 @@ describe("directives", function(){
it('should ng-show', function(){
var scope = compile('<div ng-hide="hide"></div>');
- jqLite(document.body).append(scope.$element);
scope.$eval();
- expect(isVisible(scope.$element)).toEqual(true);
+ expect(isCssVisible(scope.$element)).toEqual(true);
scope.$set('hide', true);
scope.$eval();
- expect(isVisible(scope.$element)).toEqual(false);
+ expect(isCssVisible(scope.$element)).toEqual(false);
});
it('should ng-hide', function(){
var scope = compile('<div ng-show="show"></div>');
- jqLite(document.body).append(scope.$element);
scope.$eval();
- expect(isVisible(scope.$element)).toEqual(false);
+ expect(isCssVisible(scope.$element)).toEqual(false);
scope.$set('show', true);
scope.$eval();
- expect(isVisible(scope.$element)).toEqual(true);
+ expect(isCssVisible(scope.$element)).toEqual(true);
});
it('should ng-controller', function(){
diff --git a/test/servicesSpec.js b/test/servicesSpec.js
index a3841c2f..b7dfe4c8 100644
--- a/test/servicesSpec.js
+++ b/test/servicesSpec.js
@@ -66,9 +66,7 @@ describe("service $invalidWidgets", function(){
});
it("should count number of invalid widgets", function(){
- var doc = jqLite(window.document.body);
- doc.append('<input name="price" ng-required></input>');
- var scope = compile(doc).$init();
+ var scope = compile('<input name="price" ng-required></input>').$init();
expect(scope.$invalidWidgets.length).toEqual(1);
scope.price = 123;
scope.$eval();