From 03df6cbddbb80186caf571e29957370b2ef9881c Mon Sep 17 00:00:00 2001 From: Elliott Sprehn Date: Fri, 8 Oct 2010 16:43:40 -0700 Subject: New Angular Scenario runner and DSL system with redesigned HTML UI. Uses the Jasmine syntax for tests, ex: describe('widgets', function() { it('should verify that basic widgets work', function(){ navigateTo('widgets.html'); input('text.basic').enter('Carlos'); expect(binding('text.basic')).toEqual('Carlos'); input('text.basic').enter('Carlos Santana'); expect(binding('text.basic')).not().toEqual('Carlos Boozer'); input('text.password').enter('secret'); expect(binding('text.password')).toEqual('secret'); expect(binding('text.hidden')).toEqual('hiddenValue'); expect(binding('gender')).toEqual('male'); input('gender').select('female'); expect(binding('gender')).toEqual('female'); }); }); Note: To create new UI's implement the interface shown in angular.scenario.ui.Html. --- test/scenario/FutureSpec.js | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/scenario/FutureSpec.js (limited to 'test/scenario/FutureSpec.js') diff --git a/test/scenario/FutureSpec.js b/test/scenario/FutureSpec.js new file mode 100644 index 00000000..ae475779 --- /dev/null +++ b/test/scenario/FutureSpec.js @@ -0,0 +1,38 @@ +describe('angular.scenario.Future', function() { + var future; + + it('should set the name and behavior', function() { + var behavior = function() {}; + var future = new angular.scenario.Future('test name', behavior); + expect(future.name).toEqual('test name'); + expect(future.behavior).toEqual(behavior); + expect(future.value).toBeUndefined(); + expect(future.fulfilled).toBeFalsy(); + }); + + it('should be fulfilled after execution and done callback', function() { + var future = new angular.scenario.Future('test name', function(done) { + done(); + }); + future.execute(angular.noop); + expect(future.fulfilled).toBeTruthy(); + }); + + it('should take callback with (error, result) and forward', function() { + var future = new angular.scenario.Future('test name', function(done) { + done(10, 20); + }); + future.execute(function(error, result) { + expect(error).toEqual(10); + expect(result).toEqual(20); + }); + }); + + it('should use error as value if provided', function() { + var future = new angular.scenario.Future('test name', function(done) { + done(10, 20); + }); + future.execute(angular.noop); + expect(future.value).toEqual(10); + }); +}); -- cgit v1.2.3