From 8927c949a574685078079301686254c04a4673f7 Mon Sep 17 00:00:00 2001 From: Michel Boudreau Date: Thu, 12 Feb 2015 12:18:42 +1100 Subject: [PATCH 1/3] fix(ngJq): don't rely on jqlite --- src/Angular.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/Angular.js b/src/Angular.js index 0a64cd016273..5702d0e83b71 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -943,18 +943,15 @@ var csp = function() { var jq = function() { if (isDefined(jq.name_)) return jq.name_; var el; - var i, ii = ngAttrPrefixes.length; + var i, ii = ngAttrPrefixes.length, prefix, name; for (i = 0; i < ii; ++i) { - if (el = document.querySelector('[' + ngAttrPrefixes[i].replace(':', '\\:') + 'jq]')) { + prefix = ngAttrPrefixes[i]; + if (el = document.querySelector('[' + prefix.replace(':', '\\:') + 'jq]')) { + name = el.getAttribute(prefix + 'jq'); break; } } - var name; - if (el) { - name = getNgAttribute(el, "jq"); - } - return (jq.name_ = name); }; @@ -1195,10 +1192,9 @@ var ngAttrPrefixes = ['ng-', 'data-ng-', 'ng:', 'x-ng-']; function getNgAttribute(element, ngAttr) { var attr, i, ii = ngAttrPrefixes.length; - element = jqLite(element); for (i = 0; i < ii; ++i) { attr = ngAttrPrefixes[i] + ngAttr; - if (isString(attr = element.attr(attr))) { + if (isString(attr = element.getAttribute(attr))) { return attr; } } From f572b64769533f98dc40ecd628c2b71def939c36 Mon Sep 17 00:00:00 2001 From: Martin Staffa Date: Thu, 5 Mar 2015 19:32:16 +0100 Subject: [PATCH 2/3] chore(tests): don't rewrite urls for external scripts --- test/e2e/tools/util.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/e2e/tools/util.js b/test/e2e/tools/util.js index 313e9bda66db..286bbe21ffcf 100644 --- a/test/e2e/tools/util.js +++ b/test/e2e/tools/util.js @@ -24,6 +24,10 @@ function testExists(testname) { } function rewriteTestFile(testname, testfile) { + if (testfile.indexOf('http') === 0) { + return testfile; + } + var i = 0; while (testfile[i] === '/') ++i; testfile = testfile.slice(i); From cc0b703d655775452fe094de637958b3ad6fbbce Mon Sep 17 00:00:00 2001 From: Martin Staffa Date: Wed, 25 Feb 2015 21:13:57 +0100 Subject: [PATCH 3/3] test(ngJq): add e2e tests --- test/e2e/fixtures/ngJq/index.html | 10 ++++++++++ test/e2e/fixtures/ngJq/script.js | 6 ++++++ test/e2e/fixtures/ngJqJquery/index.html | 14 ++++++++++++++ test/e2e/fixtures/ngJqJquery/script.js | 6 ++++++ test/e2e/tests/ngJqSpec.js | 12 ++++++++++++ 5 files changed, 48 insertions(+) create mode 100644 test/e2e/fixtures/ngJq/index.html create mode 100644 test/e2e/fixtures/ngJq/script.js create mode 100644 test/e2e/fixtures/ngJqJquery/index.html create mode 100644 test/e2e/fixtures/ngJqJquery/script.js create mode 100644 test/e2e/tests/ngJqSpec.js diff --git a/test/e2e/fixtures/ngJq/index.html b/test/e2e/fixtures/ngJq/index.html new file mode 100644 index 000000000000..00f268c86066 --- /dev/null +++ b/test/e2e/fixtures/ngJq/index.html @@ -0,0 +1,10 @@ + + + + {{jqueryVersion}} + + + + + + diff --git a/test/e2e/fixtures/ngJq/script.js b/test/e2e/fixtures/ngJq/script.js new file mode 100644 index 000000000000..653ebc6b8beb --- /dev/null +++ b/test/e2e/fixtures/ngJq/script.js @@ -0,0 +1,6 @@ +'use strict'; + +angular.module('test', []) + .run(function($rootScope) { + $rootScope.jqueryVersion = window.angular.element().jquery || 'jqLite'; + }); diff --git a/test/e2e/fixtures/ngJqJquery/index.html b/test/e2e/fixtures/ngJqJquery/index.html new file mode 100644 index 000000000000..2370107d333d --- /dev/null +++ b/test/e2e/fixtures/ngJqJquery/index.html @@ -0,0 +1,14 @@ + + + + {{jqueryVersion}} + + + + + + + + diff --git a/test/e2e/fixtures/ngJqJquery/script.js b/test/e2e/fixtures/ngJqJquery/script.js new file mode 100644 index 000000000000..653ebc6b8beb --- /dev/null +++ b/test/e2e/fixtures/ngJqJquery/script.js @@ -0,0 +1,6 @@ +'use strict'; + +angular.module('test', []) + .run(function($rootScope) { + $rootScope.jqueryVersion = window.angular.element().jquery || 'jqLite'; + }); diff --git a/test/e2e/tests/ngJqSpec.js b/test/e2e/tests/ngJqSpec.js new file mode 100644 index 000000000000..fd9ea368fc0d --- /dev/null +++ b/test/e2e/tests/ngJqSpec.js @@ -0,0 +1,12 @@ +describe('Customizing the jqlite / jquery version', function() { + + it('should be able to force jqlite', function() { + loadFixture("ngJq").andWaitForAngular(); + expect(element(by.binding('jqueryVersion')).getText()).toBe('jqLite'); + }); + + it('should be able to use a specific version jQuery', function() { + loadFixture("ngJqJquery").andWaitForAngular(); + expect(element(by.binding('jqueryVersion')).getText()).toBe('2.1.0'); + }); +});