diff options
| author | Misko Hevery | 2010-10-26 15:35:58 -0700 |
|---|---|---|
| committer | Misko Hevery | 2010-10-26 16:33:59 -0700 |
| commit | 9c0225512c63ebfc37e6408cc155d9da1fe682c9 (patch) | |
| tree | 4973f6c57b801c71cbc93d7d993887ff6d3f9558 /test | |
| parent | 40d7e66f408eaaa66efd8d7934ab2eb3324236a1 (diff) | |
| download | angular.js-9c0225512c63ebfc37e6408cc155d9da1fe682c9.tar.bz2 | |
fixes IE related failures, and form submit event handling in ie
Diffstat (limited to 'test')
| -rw-r--r-- | test/directivesSpec.js | 2 | ||||
| -rw-r--r-- | test/manual.html | 97 | ||||
| -rw-r--r-- | test/scenario/ApplicationSpec.js | 2 | ||||
| -rw-r--r-- | test/scenario/dslSpec.js | 2 | ||||
| -rw-r--r-- | test/scenario/output/HtmlSpec.js | 4 | ||||
| -rw-r--r-- | test/scenario/output/jsonSpec.js | 10 | ||||
| -rw-r--r-- | test/scenario/output/objectSpec.js | 8 | ||||
| -rw-r--r-- | test/scenario/output/xmlSpec.js | 12 |
8 files changed, 82 insertions, 55 deletions
diff --git a/test/directivesSpec.js b/test/directivesSpec.js index 34dcbf8d..fa2abd46 100644 --- a/test/directivesSpec.js +++ b/test/directivesSpec.js @@ -206,7 +206,7 @@ describe("directives", function(){ describe('ng:submit', function() { it('should get called on form submit', function() { var scope = compile('<form action="" ng:submit="submitted = true">' + - '<input id="submit" type="submit"/>' + + '<input type="submit"/>' + '</form>'); scope.$eval(); expect(scope.submitted).not.toBeDefined(); diff --git a/test/manual.html b/test/manual.html index 3b1886f3..dc491399 100644 --- a/test/manual.html +++ b/test/manual.html @@ -39,56 +39,80 @@ <script type="text/javascript" src="../src/scenario/SpecRunner.js"></script> <script type="text/javascript" src="../src/scenario/dsl.js"></script> <script type="text/javascript" src="../src/scenario/matchers.js"></script> + <script type="text/javascript" src="../src/scenario/ObjectModel.js"></script> + + <script type="text/javascript" src="../src/scenario/output/Html.js"></script> + <script type="text/javascript" src="../src/scenario/output/Object.js"></script> + <script type="text/javascript" src="../src/scenario/output/Json.js"></script> + <script type="text/javascript" src="../src/scenario/output/Xml.js"></script> <script type="text/javascript" src="angular-mocks.js"></script> + <script type="text/javascript" src="../test/scenario/mocks.js"></script> <script type="text/javascript" src="testabilityPatch.js"></script> <!-- include spec files here... --> <script type="text/javascript"> describe('manual', function(){ - var scope; + var compile, model, element; - function compile(html, initialScope, parent) { + beforeEach(function() { var compiler = new Compiler(angularTextMarkup, angularAttrMarkup, angularDirective, angularWidget); - var element = self.element = jqLite(html); - scope = compiler.compile(element)(element); - - if (parent) parent.append(element); - - extend(scope, initialScope); - scope.$init(); - return {node:element, scope:scope}; - }; + compile = function(html) { + element = jqLite(html); + model = compiler.compile(element)(element); + model.$init(); + return model; + }; + }); - it('should debug', function(){ - var x = compile( - '<select name="selection" ng:format="number">' + - '<option value="{{$index}}" ng:repeat="name in [\'A\', \'B\', \'C\']">{{name}}</option>' + - '</select>'); - expect(scope.selection).toEqual(undefined); + it('should get called on form submit', function() { + var scope = compile('<form action="" ng:submit="submitted = true">' + + '<input type="submit"/>' + + '</form>'); + scope.$eval(); + expect(scope.submitted).not.toBeDefined(); - browserTrigger(element[0].childNodes[2], 'change'); - expect(scope.selection).toEqual(1); + browserTrigger(element.children()[0]); + expect(scope.submitted).toEqual(true); + }); +}); - scope.selection = 2; - scope.$eval(); - expect(element[0].childNodes[3].selected).toEqual(true); +describe('angular.scenario.output.json', function() { + var output, context; + var runner, $window; + var spec, step; + + beforeEach(function() { + $window = {}; + context = _jQuery('<div>text</div>'); + $(document.body).append(context); + runner = new angular.scenario.testing.MockRunner(); + output = angular.scenario.output.xml(context, runner); + spec = { + name: 'test spec', + definition: { + id: 10, + name: 'describe' + } + }; + step = { + name: 'some step', + line: function() { return 'unknown:-1'; } + }; }); - it('should reproduce', function(){ - var select = $('<select name=""><option>a</option></select>'); - var log = ''; - select.bind('change', function(){ log += 'change;'; }); - select.bind('click', function(){ log += 'click;'; }); - select.bind('keyup', function(){ log += 'keyup;'; }); - select[0].attachEvent('onchange', function(){ log += 'CHANGE;';}); - select[0].fireEvent('onfocusout'); - select[0].fireEvent('onchange'); - select[0].fireEvent('onclick'); - select[0].fireEvent('onkeyup'); - expect(log).toEqual('CHANGE;change;click;keyup;'); + it('should create XML nodes for object model', function() { + runner.emit('SpecBegin', spec); + runner.emit('StepBegin', spec, step); + runner.emit('StepEnd', spec, step); + runner.emit('SpecEnd', spec); + runner.emit('RunnerEnd'); + expect(_jQuery(context).find('it').attr('status')).toEqual('success'); + expect(_jQuery(context).find('it step').attr('status')).toEqual('success'); }); }); + + </script> </head> @@ -96,7 +120,10 @@ describe('manual', function(){ <script type="text/javascript"> jasmine.getEnv().addReporter(new jasmine.TrivialReporter()); - jasmine.getEnv().execute(); + function run(){ + jasmine.getEnv().execute(); + } + run(); </script> </body> diff --git a/test/scenario/ApplicationSpec.js b/test/scenario/ApplicationSpec.js index 122292c6..3e1c862d 100644 --- a/test/scenario/ApplicationSpec.js +++ b/test/scenario/ApplicationSpec.js @@ -88,7 +88,7 @@ describe('angular.scenario.Application', function() { var testWindow = { document: _jQuery('<div class="test-foo"></div>'), angular: { - service: {}, + service: {} } }; testWindow.angular.service.$browser = function() { diff --git a/test/scenario/dslSpec.js b/test/scenario/dslSpec.js index bbba0b7d..efedeeb5 100644 --- a/test/scenario/dslSpec.js +++ b/test/scenario/dslSpec.js @@ -177,7 +177,7 @@ describe("angular.scenario.dsl", function() { expect($window.location).not.toEqual('#foo'); doc.append('<a href="#foo"></a>'); $root.dsl.element('a').click(); - expect($window.location).toEqual('#foo'); + expect($window.location).toMatch(/#foo$/); }); it('should count matching elements', function() { diff --git a/test/scenario/output/HtmlSpec.js b/test/scenario/output/HtmlSpec.js index f5bb90b0..f973397e 100644 --- a/test/scenario/output/HtmlSpec.js +++ b/test/scenario/output/HtmlSpec.js @@ -19,7 +19,7 @@ describe('angular.scenario.output.html', function() { }; step = { name: 'some step', - line: function() { return 'unknown:-1'; }, + line: function() { return 'unknown:-1'; } }; runner = new angular.scenario.testing.MockRunner(); context = _jQuery("<div></div>"); @@ -44,7 +44,7 @@ describe('angular.scenario.output.html', function() { runner.emit('StepBegin', spec, step); runner.emit('InteractiveWait', spec, step); expect(context.find('.test-actions .test-title:first').text()).toEqual('some step'); - expect(context.find('.test-actions .test-title:last').html()).toEqual( + expect(lowercase(context.find('.test-actions .test-title:last').html())).toEqual( 'waiting for you to <a href="javascript:resume()">resume</a>.' ); }); diff --git a/test/scenario/output/jsonSpec.js b/test/scenario/output/jsonSpec.js index b3592608..afc74a21 100644 --- a/test/scenario/output/jsonSpec.js +++ b/test/scenario/output/jsonSpec.js @@ -2,7 +2,7 @@ describe('angular.scenario.output.json', function() { var output, context; var runner, $window; var spec, step; - + beforeEach(function() { $window = {}; context = _jQuery('<div></div>'); @@ -12,22 +12,22 @@ describe('angular.scenario.output.json', function() { name: 'test spec', definition: { id: 10, - name: 'describe', + name: 'describe' } }; step = { name: 'some step', - line: function() { return 'unknown:-1'; }, + line: function() { return 'unknown:-1'; } }; }); - + it('should put json in context on RunnerEnd', function() { runner.emit('SpecBegin', spec); runner.emit('StepBegin', spec, step); runner.emit('StepEnd', spec, step); runner.emit('SpecEnd', spec); runner.emit('RunnerEnd'); - + expect(angular.fromJson(context.html()).children['describe'] .specs['test spec'].status).toEqual('success'); }); diff --git a/test/scenario/output/objectSpec.js b/test/scenario/output/objectSpec.js index c4e8d451..73c3dcf9 100644 --- a/test/scenario/output/objectSpec.js +++ b/test/scenario/output/objectSpec.js @@ -18,19 +18,19 @@ describe('angular.scenario.output.object', function() { }; step = { name: 'some step', - line: function() { return 'unknown:-1'; }, + line: function() { return 'unknown:-1'; } }; }); - + it('should create a global variable $result', function() { expect($window.$result).toBeDefined(); }); - + it('should maintain live state in $result', function() { runner.emit('SpecBegin', spec); runner.emit('StepBegin', spec, step); runner.emit('StepEnd', spec, step); - + expect($window.$result.children['describe'] .specs['test spec'].steps[0].duration).toBeDefined(); }); diff --git a/test/scenario/output/xmlSpec.js b/test/scenario/output/xmlSpec.js index 448c8d10..fbfabcc4 100644 --- a/test/scenario/output/xmlSpec.js +++ b/test/scenario/output/xmlSpec.js @@ -2,7 +2,7 @@ describe('angular.scenario.output.json', function() { var output, context; var runner, $window; var spec, step; - + beforeEach(function() { $window = {}; context = _jQuery('<div></div>'); @@ -12,22 +12,22 @@ describe('angular.scenario.output.json', function() { name: 'test spec', definition: { id: 10, - name: 'describe', + name: 'describe' } }; step = { name: 'some step', - line: function() { return 'unknown:-1'; }, + line: function() { return 'unknown:-1'; } }; }); - + it('should create XML nodes for object model', function() { runner.emit('SpecBegin', spec); runner.emit('StepBegin', spec, step); runner.emit('StepEnd', spec, step); runner.emit('SpecEnd', spec); runner.emit('RunnerEnd'); - expect(_jQuery(context).find('it').attr('status')).toEqual('success'); - expect(_jQuery(context).find('it step').attr('status')).toEqual('success'); + expect(context.find('it').attr('status')).toEqual('success'); + expect(context.find('it step').attr('status')).toEqual('success'); }); }); |
