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