Mercurial > js4py-pl
changeset 160:8cacef25f3d8 core-javascript.closure-exercises
$ python py/remove_answers.py
| author | jf3243 |
|---|---|
| date | Wed, 09 Nov 2011 15:55:17 +0000 |
| parents | 1eb05ae4fd4d |
| children | a4b0e283999c |
| files | core-javascript/core-javascript-work/closure-exercises.js |
| diffstat | 1 files changed, 168 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core-javascript/core-javascript-work/closure-exercises.js Wed Nov 09 15:55:17 2011 +0000 @@ -0,0 +1,168 @@ +var something; + +TEST('anon', function() +{ + var answer; + + // Please write your answer here. + + assert( answer() === 1 ); +}); + + +TEST('anon', function() +{ + var outer_function = function(){ + + var answer; + + // Please write your answer here. + + return answer; + }; + + var my_inner_function = outer_function(); + + assert( typeof my_inner_function === 'function' ); + assert( my_inner_function() === 1 ); +}); + + +TEST('anon', function() +{ + var outer_function = function(){ + + var answer; + + // Please write your answer here. + + return answer; + }; + + assert( outer_function()() === 1 ); +}); + + +TEST('anon', function() +{ + var outer_function = function(n){ + + var answer; + + // Please write your answer here. + + return answer; + }; + + assert( outer_function(1)() === 1 ); + assert( outer_function(2)() === 2 ); + assert( outer_function(3)() === 3 ); +}); + + +TEST('anon', function() +{ + var outer_function = function(n){ + + // Please write your answer here. + }; + + assert( outer_function(1)() === 1 ); + assert( outer_function(2)() === 2 ); + assert( outer_function(3)() === 3 ); +}); + + +TEST('anon', function() +{ + var value = 1; + + var get_value = function(){ + return value; + }; + + assert( get_value() === something ); +}); + + +TEST('anon', function() +{ + var value = 1; + + var set_value = function(n){ + value = n; + }; + + set_value(2); + assert( value === something ); +}); + + +TEST('anon', function() +{ + var value = 1; + + var get_value = function(){ + return value; + }; + + var set_value = function(n){ + value = n; + }; + + assert( get_value() === something ); + + set_value(2); + assert( get_value() === something ); +}); + + +TEST('anon', function() +{ + var value = 1; + + var ddd = function(aaa, bbb){ + return { + // Please write your answer here. + }; + }; + + var obj = ddd(1, 2); + + assert( obj.aaa === 1 ); + assert( obj.bbb === 2 ); + +}); + + +TEST('anon', function() +{ + + var get_set_factory = function(){ + + // Please write your answer here. + + return { + get : get, + set : set + }; + }; + + var tmp; + tmp = get_set_factory(); + var get_a = tmp.get; + var set_a = tmp.set; + + tmp = get_set_factory(); + var get_b = tmp.get; + var set_b = tmp.set; + + + set_a('aaa'); + assert( get_a() == 'aaa' ); + + set_b('bbb'); + assert( get_b() == 'bbb' ); + + assert( get_a() == 'aaa' ); +});
