From ee327a1f4f75f57c2a2c6166520c092d4942ffe0 Mon Sep 17 00:00:00 2001
From: Misko Hevery
Date: Tue, 6 Apr 2010 14:04:08 -0700
Subject: few fixes to make tests pass with jquery
---
example/widgets.html | 34 ----------------------------------
scenario/widgets.html | 12 +++++++++++-
src/jqLite.js | 1 +
test/BinderTest.js | 4 ++--
test/CompilerSpec.js | 4 ++--
test/directivesSpec.js | 8 ++++----
test/testabilityPatch.js | 6 ++++++
test/widgetsSpec.js | 6 +++---
8 files changed, 29 insertions(+), 46 deletions(-)
delete mode 100644 example/widgets.html
diff --git a/example/widgets.html b/example/widgets.html
deleted file mode 100644
index 525b35b9..00000000
--- a/example/widgets.html
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-form={{form}}
-$invalidWidgets.length={{$invalidWidgets.length}}
-
-
-
diff --git a/scenario/widgets.html b/scenario/widgets.html
index 6cb8df05..ab27e490 100644
--- a/scenario/widgets.html
+++ b/scenario/widgets.html
@@ -2,7 +2,7 @@
-
+
@@ -82,6 +82,16 @@
button={{button}} |
+ | Repeaters |
+
+ | ng-repeat |
+
+
+ |
+ |
+
diff --git a/src/jqLite.js b/src/jqLite.js
index 9aa4f2c7..e9407987 100644
--- a/src/jqLite.js
+++ b/src/jqLite.js
@@ -92,6 +92,7 @@ JQLite.prototype = {
});
},
+ //TODO: remove
trigger: function(type) {
var evnt = document.createEvent('MouseEvent');
evnt.initMouseEvent(type, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
diff --git a/test/BinderTest.js b/test/BinderTest.js
index 660ad78c..c792f10b 100644
--- a/test/BinderTest.js
+++ b/test/BinderTest.js
@@ -706,13 +706,13 @@ BinderTest.prototype.testItShouldSelectTheCorrectRadioBox = function() {
var female = jqLite(c.node[0].childNodes[0]);
var male = jqLite(c.node[0].childNodes[1]);
- female.click();
+ trigger(female, 'click');
assertEquals("female", c.scope.sex);
assertEquals(true, female[0].checked);
assertEquals(false, male[0].checked);
assertEquals("female", female.val());
- male.click();
+ trigger(male, 'click');
assertEquals("male", c.scope.sex);
assertEquals(false, female[0].checked);
assertEquals(true, male[0].checked);
diff --git a/test/CompilerSpec.js b/test/CompilerSpec.js
index 9922070f..b9529e6e 100644
--- a/test/CompilerSpec.js
+++ b/test/CompilerSpec.js
@@ -72,7 +72,7 @@ describe('compiler', function(){
var scope = compile('');
expect(log).toEqual("hello misko");
});
-
+
it('should allow creation of templates', function(){
directives.duplicate = function(expr, element){
element.replaceWith(document.createComment("marker"));
@@ -97,7 +97,7 @@ describe('compiler', function(){
if (text == 'middle') {
expect(textNode.text()).toEqual(text);
parentNode.attr('hello', text);
- textNode.text('replaced');
+ textNode[0].textContent = 'replaced';
}
});
var scope = compile('beforemiddleafter');
diff --git a/test/directivesSpec.js b/test/directivesSpec.js
index 0a7e3c18..7504bf6b 100644
--- a/test/directivesSpec.js
+++ b/test/directivesSpec.js
@@ -142,19 +142,19 @@ describe("directives", function(){
it('should ng-show', function(){
var scope = compile('');
scope.$eval();
- expect(element.css('display')).toEqual('');
+ expect(isVisible(element)).toEqual(true);
scope.$set('hide', true);
scope.$eval();
- expect(element.css('display')).toEqual('none');
+ expect(isVisible(element)).toEqual(false);
});
it('should ng-hide', function(){
var scope = compile('');
scope.$eval();
- expect(element.css('display')).toEqual('none');
+ expect(isVisible(element)).toEqual(false);
scope.$set('show', true);
scope.$eval();
- expect(element.css('display')).toEqual('');
+ expect(isVisible(element)).toEqual(true);
});
it('should ng-controller', function(){
diff --git a/test/testabilityPatch.js b/test/testabilityPatch.js
index dc67ddec..475784ad 100644
--- a/test/testabilityPatch.js
+++ b/test/testabilityPatch.js
@@ -27,6 +27,12 @@ extend(angular, {
});
+function trigger(element, type) {
+ var evnt = document.createEvent('MouseEvent');
+ evnt.initMouseEvent(type, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ (element[0] || element).dispatchEvent(evnt);
+}
+
function sortedHtml(element) {
var html = "";
(function toString(node) {
diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js
index 1669aa68..a68176e7 100644
--- a/test/widgetsSpec.js
+++ b/test/widgetsSpec.js
@@ -115,10 +115,10 @@ describe("input widget", function(){
it('should type="checkbox"', function(){
compile('');
expect(scope.checkbox).toEqual(true);
- element.click();
+ trigger(element, 'click');
expect(scope.checkbox).toEqual(false);
expect(scope.action).toEqual(true);
- element.click();
+ trigger(element, 'click');
expect(scope.checkbox).toEqual(true);
});
@@ -142,7 +142,7 @@ describe("input widget", function(){
expect(b.checked).toEqual(true);
expect(scope.clicked).not.toBeDefined();
- jqLite(a).click();
+ trigger(a, 'click');
expect(scope.chose).toEqual('A');
expect(scope.clicked).toEqual(1);
});
--
cgit v1.2.3