diff options
| author | Igor Minar | 2011-09-15 04:54:00 +0200 |
|---|---|---|
| committer | Igor Minar | 2011-09-16 02:44:33 +0200 |
| commit | 2170c06924b3a0dc1fef3b383d6a236e670dceea (patch) | |
| tree | d90ce95ee59777d81c95cd8ed95a0c754eda710a /test | |
| parent | 0e5a24c584d88b17297010676b8e0005b3545efd (diff) | |
| download | angular.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
Diffstat (limited to 'test')
| -rw-r--r-- | test/jqLiteSpec.js | 5 | ||||
| -rw-r--r-- | test/jquery_alias.js | 3 | ||||
| -rw-r--r-- | test/jquery_remove.js | 3 | ||||
| -rw-r--r-- | test/testabilityPatch.js | 8 |
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(''); |
