From fe434307d15d697a5ffade51bad068f6443965b2 Mon Sep 17 00:00:00 2001
From: Misko Hevery
Date: Thu, 22 Apr 2010 17:11:56 -0700
Subject: tests work under jquery and without
---
test/BinderTest.js | 4 ++--
test/FiltersTest.js | 8 ++++----
test/testabilityPatch.js | 9 +++++++++
test/widgetsSpec.js | 12 ++++++------
4 files changed, 21 insertions(+), 12 deletions(-)
(limited to 'test')
diff --git a/test/BinderTest.js b/test/BinderTest.js
index 31b2698d..76561dc3 100644
--- a/test/BinderTest.js
+++ b/test/BinderTest.js
@@ -588,13 +588,13 @@ BinderTest.prototype.testItShouldSelectTheCorrectRadioBox = function() {
var female = jqLite(c.node[0].childNodes[0]);
var male = jqLite(c.node[0].childNodes[1]);
- female.trigger('click');
+ click(female);
assertEquals("female", c.scope.sex);
assertEquals(true, female[0].checked);
assertEquals(false, male[0].checked);
assertEquals("female", female.val());
- male.trigger('click');
+ click(male);
assertEquals("male", c.scope.sex);
assertEquals(false, female[0].checked);
assertEquals(true, male[0].checked);
diff --git a/test/FiltersTest.js b/test/FiltersTest.js
index a71d30e2..5642f635 100644
--- a/test/FiltersTest.js
+++ b/test/FiltersTest.js
@@ -133,9 +133,9 @@ FiltersTest.prototype.testGoogleChartApiEncode = function() {
};
FiltersTest.prototype.testHtml = function() {
- var div = jqLite('
');
- div.append(angular.filter.html("acd"));
- assertEquals("acd", lowercase(div.html()));
+ var html = angular.filter.html("acd");
+ expect(html instanceof HTML).toBeTruthy();
+ expect(html.html).toEqual("acd");
};
FiltersTest.prototype.testLinky = function() {
@@ -145,7 +145,7 @@ FiltersTest.prototype.testLinky = function() {
'(http://a/) ' +
'<http://a/> ' +
'http://1.2/v:~-123. c',
- sortedHtml(linky("http://ab/ (http://a/) http://1.2/v:~-123. c")));
+ linky("http://ab/ (http://a/) http://1.2/v:~-123. c").html);
assertEquals(undefined, linky(undefined));
};
diff --git a/test/testabilityPatch.js b/test/testabilityPatch.js
index e5eef63e..b05770c7 100644
--- a/test/testabilityPatch.js
+++ b/test/testabilityPatch.js
@@ -148,3 +148,12 @@ function assertThrows(error, fn){
log = noop;
error = noop;
+
+function click(element) {
+ element = jqLite(element);
+ if ( (msie || jqLite == window.jQuery) &&
+ nodeName(element) == 'INPUT' && (lowercase(element.attr('type')) == 'radio' || lowercase(element.attr('type')) == 'checkbox')) {
+ element[0].checked = ! element[0].checked;
+ }
+ element.trigger('click');
+}
diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js
index c6c57557..3aa5e250 100644
--- a/test/widgetsSpec.js
+++ b/test/widgetsSpec.js
@@ -137,23 +137,23 @@ describe("widget", function(){
it('should call ng-change on button click', function(){
compile('');
- element.trigger('click');
+ click(element);
expect(scope.$get('clicked')).toEqual(true);
});
it('should support button alias', function(){
compile('');
- element.trigger('click');
+ click(element);
expect(scope.$get('clicked')).toEqual(true);
});
it('should support type="checkbox"', function(){
compile('');
expect(scope.checkbox).toEqual(true);
- element.trigger('click');
+ click(element);
expect(scope.checkbox).toEqual(false);
expect(scope.action).toEqual(true);
- element.trigger('click');
+ click(element);
expect(scope.checkbox).toEqual(true);
});
@@ -177,7 +177,7 @@ describe("widget", function(){
expect(b.checked).toEqual(true);
expect(scope.clicked).not.toBeDefined();
- jqLite(a).trigger('click');
+ click(a);
expect(scope.chose).toEqual('A');
expect(scope.clicked).toEqual(1);
});
@@ -219,7 +219,7 @@ describe("widget", function(){
it('should report error on ng-change exception', function(){
compile('');
- element.trigger('click');
+ click(element);
expect(element.hasClass('ng-exception')).toBeTruthy();
});
});
--
cgit v1.2.3