aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Minar2011-09-15 04:54:00 +0200
committerIgor Minar2011-09-16 02:44:33 +0200
commit2170c06924b3a0dc1fef3b383d6a236e670dceea (patch)
treed90ce95ee59777d81c95cd8ed95a0c754eda710a
parent0e5a24c584d88b17297010676b8e0005b3545efd (diff)
downloadangular.js-2170c06924b3a0dc1fef3b383d6a236e670dceea.tar.bz2
fix(specs): fix jQuery to jqLite binding on IE8
It appears that this whole time all IE8 unit tests ran only with jqLite. Due to a weird bug in IE[1], we never overwrote jqLite implementation with jQuery, so the tests ran with our jqLite instead. This affected only IE8 (and likely older) and only in unit testing mode. angular.js - the built artifact binds to jQuery just find. [1] https://plus.google.com/104744871076396904202/posts/Kqjuj6RSbbT
-rw-r--r--test/jqLiteSpec.js5
-rw-r--r--test/jquery_alias.js3
-rw-r--r--test/jquery_remove.js3
-rw-r--r--test/testabilityPatch.js8
4 files changed, 17 insertions, 2 deletions
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js
index b31b1664..63ba24bf 100644
--- a/test/jqLiteSpec.js
+++ b/test/jqLiteSpec.js
@@ -39,6 +39,11 @@ describe('jqLite', function(){
});
+ it('should be jqLite when jqLiteMode is on, otherwise jQuery', function() {
+ expect(jqLite).toBe(_jqLiteMode ? jqLiteWrap : _jQuery);
+ });
+
+
describe('construction', function(){
it('should allow construction with text node', function(){
var text = a.firstChild;
diff --git a/test/jquery_alias.js b/test/jquery_alias.js
index d9e1222b..ee4094f2 100644
--- a/test/jquery_alias.js
+++ b/test/jquery_alias.js
@@ -1,3 +1,4 @@
'use strict';
-var _jQuery = jQuery;
+var _jQuery = jQuery,
+ _jqLiteMode = false;
diff --git a/test/jquery_remove.js b/test/jquery_remove.js
index 0f2ce623..66029c81 100644
--- a/test/jquery_remove.js
+++ b/test/jquery_remove.js
@@ -1,3 +1,4 @@
'use strict';
-var _jQuery = jQuery.noConflict(true);
+var _jQuery = jQuery.noConflict(true),
+ _jqLiteMode = true;
diff --git a/test/testabilityPatch.js b/test/testabilityPatch.js
index 314ba6da..24f10139 100644
--- a/test/testabilityPatch.js
+++ b/test/testabilityPatch.js
@@ -28,6 +28,14 @@ if (window.jstestdriver) {
beforeEach(function(){
// This is to reset parsers global cache of expressions.
compileCache = {};
+
+ // workaround for IE bug https://plus.google.com/104744871076396904202/posts/Kqjuj6RSbbT
+ // IE overwrite window.jQuery with undefined because of empty jQuery var statement, so we have to
+ // correct this, but only if we are not running in jqLite mode
+ if (!_jqLiteMode && _jQuery !== jQuery) {
+ jQuery = _jQuery;
+ }
+
// reset to jQuery or default to us.
bindJQuery();
jqLite(document.body).html('');