From 9ee2cdff44e7d496774b340de816344126c457b3 Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Tue, 22 Nov 2011 21:28:39 -0800 Subject: refactor(directives): connect new compiler - turn everything into a directive --- test/widget/inputSpec.js | 79 ++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 40 deletions(-) (limited to 'test/widget/inputSpec.js') diff --git a/test/widget/inputSpec.js b/test/widget/inputSpec.js index 3e073d95..3b3aa282 100644 --- a/test/widget/inputSpec.js +++ b/test/widget/inputSpec.js @@ -51,7 +51,6 @@ describe('widget: input', function() { it('should bind update scope from model', function() { createInput(); - expect(scope.form.name.$required).toBe(false); scope.name = 'misko'; scope.$digest(); expect(inputElement.val()).toEqual('misko'); @@ -60,7 +59,6 @@ describe('widget: input', function() { it('should require', function() { createInput({required:''}); - expect(scope.form.name.$required).toBe(true); scope.$digest(); expect(scope.form.name.$valid).toBe(false); scope.name = 'misko'; @@ -159,7 +157,7 @@ describe('widget: input', function() { ''); scope.obj = { abc: { name: 'Misko'} }; scope.$digest(); - expect(scope.$element.find('input').val()).toEqual('Misko'); + expect(element.find('input').val()).toEqual('Misko'); }); @@ -181,7 +179,7 @@ describe('widget: input', function() { it("should render as blank if null", function() { compile(''); expect(scope.age).toBeNull(); - expect(scope.$element[0].value).toEqual(''); + expect(element[0].value).toEqual(''); }); @@ -189,19 +187,19 @@ describe('widget: input', function() { compile(''); scope.age = 123; scope.$digest(); - expect(scope.$element.val()).toEqual('123'); + expect(element.val()).toEqual('123'); try { // to allow non-number values, we have to change type so that // the browser which have number validation will not interfere with // this test. IE8 won't allow it hence the catch. - scope.$element[0].setAttribute('type', 'text'); + element[0].setAttribute('type', 'text'); } catch (e){} - scope.$element.val('123X'); - browserTrigger(scope.$element, 'change'); + element.val('123X'); + browserTrigger(element, 'change'); defer.flush(); - expect(scope.$element.val()).toEqual('123X'); + expect(element.val()).toEqual('123X'); expect(scope.age).toEqual(123); - expect(scope.$element).toBeInvalid(); + expect(element).toBeInvalid(); }); @@ -211,28 +209,28 @@ describe('widget: input', function() { // the user from ever typying ','. compile(''); - scope.$element.val('a '); - browserTrigger(scope.$element, 'change'); + element.val('a '); + browserTrigger(element, 'change'); defer.flush(); - expect(scope.$element.val()).toEqual('a '); + expect(element.val()).toEqual('a '); expect(scope.list).toEqual(['a']); - scope.$element.val('a ,'); - browserTrigger(scope.$element, 'change'); + element.val('a ,'); + browserTrigger(element, 'change'); defer.flush(); - expect(scope.$element.val()).toEqual('a ,'); + expect(element.val()).toEqual('a ,'); expect(scope.list).toEqual(['a']); - scope.$element.val('a , '); - browserTrigger(scope.$element, 'change'); + element.val('a , '); + browserTrigger(element, 'change'); defer.flush(); - expect(scope.$element.val()).toEqual('a , '); + expect(element.val()).toEqual('a , '); expect(scope.list).toEqual(['a']); - scope.$element.val('a , b'); - browserTrigger(scope.$element, 'change'); + element.val('a , b'); + browserTrigger(element, 'change'); defer.flush(); - expect(scope.$element.val()).toEqual('a , b'); + expect(element.val()).toEqual('a , b'); expect(scope.list).toEqual(['a', 'b']); }); @@ -240,7 +238,7 @@ describe('widget: input', function() { it("should come up blank when no value specified", function() { compile(''); scope.$digest(); - expect(scope.$element.val()).toEqual(''); + expect(element.val()).toEqual(''); expect(scope.age).toEqual(null); }); }); @@ -250,7 +248,7 @@ describe('widget: input', function() { it("should format booleans", function() { compile(''); expect(scope.name).toBe(false); - expect(scope.$element[0].checked).toBe(false); + expect(element[0].checked).toBe(false); }); @@ -270,15 +268,15 @@ describe('widget: input', function() { scope.name='y'; scope.$digest(); - expect(scope.$element[0].checked).toBe(true); + expect(element[0].checked).toBe(true); scope.name='n'; scope.$digest(); - expect(scope.$element[0].checked).toBe(false); + expect(element[0].checked).toBe(false); scope.name='abc'; scope.$digest(); - expect(scope.$element[0].checked).toBe(false); + expect(element[0].checked).toBe(false); browserTrigger(element); expect(scope.name).toEqual('y'); @@ -302,7 +300,6 @@ describe('widget: input', function() { it("should process required", inject(function($formFactory) { compile('', jqLite(document.body)); - expect($formFactory.rootForm.p.$required).toBe(true); expect(element.hasClass('ng-invalid')).toBeTruthy(); scope.price = 'xxx'; @@ -394,7 +391,7 @@ describe('widget: input', function() { ''); expect(scope.choose).toEqual('C'); - var inputs = scope.$element.find('input'); + var inputs = element.find('input'); expect(inputs[1].checked).toBe(false); expect(inputs[2].checked).toBe(true); }); @@ -408,7 +405,7 @@ describe('widget: input', function() { ''); expect(scope.choose).toEqual('A'); - var inputs = scope.$element.find('input'); + var inputs = element.find('input'); expect(inputs[0].checked).toBe(true); expect(inputs[1].checked).toBe(false); }); @@ -421,7 +418,7 @@ describe('widget: input', function() { ' type="radio" ng:model="choice" value="{{item}}" name="choice">'+ ''); - var inputs = scope.$element.find('input'); + var inputs = element.find('input'); expect(inputs[0].checked).toBe(false); expect(inputs[1].checked).toBe(false); @@ -435,7 +432,7 @@ describe('widget: input', function() { function($rootScope, $compile){ $rootScope.choice = 'b'; $rootScope.items = ['a', 'b']; - var element = $compile( + element = $compile( '