Mercurial > js4py
changeset 172:e99460be1207 javascript-exercises
Make a start with create_exercises.js.
| author | jf3243 |
|---|---|
| date | Thu, 10 Nov 2011 17:33:16 +0000 |
| parents | 19e88fb18c4e |
| children | 6c94c10869eb |
| files | core-javascript/javascript-exercises/answers/create-exercises.js core-javascript/javascript-exercises/create-exercises.js |
| diffstat | 2 files changed, 93 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core-javascript/javascript-exercises/answers/create-exercises.js Thu Nov 10 17:33:16 2011 +0000 @@ -0,0 +1,50 @@ +var something; + +TEST('parent-child', function() +{ + var parent = {}; + var child = create(parent); + + parent.aaa = 12; + something = 12; + assert( child.aaa === something ); + + child.aaa = 24; + something = 12; + assert( parent.aaa === something ); + + parent.aaa = 36; + something = 24; + assert (child.aaa === something ); + + delete child.aaa; + something = 36; + assert( child.aaa === something ); +}); + + +TEST("what's the tree?", function() +{ + var a; + var b; + var c; + + // start + b = {}; + a = create(b); + c = create(a); + // stop + // Don't use aaa, bbb or ccc in your code. + + a.aaa = 1; + assert( b.aaa === undefined ); + assert( c.aaa === 1 ); + + b.bbb = 2; + assert( a.bbb === 2 ); + assert( c.bbb === 2 ); + + c.ccc = 3; + assert( a.ccc === undefined ); + assert( b.ccc === undefined ); +});
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core-javascript/javascript-exercises/create-exercises.js Thu Nov 10 17:33:16 2011 +0000 @@ -0,0 +1,43 @@ +var something; + +TEST('parent-child', function() +{ + var parent = {}; + var child = create(parent); + + parent.aaa = 12; + assert( child.aaa === something ); + + child.aaa = 24; + assert( parent.aaa === something ); + + parent.aaa = 36; + assert (child.aaa === something ); + + delete child.aaa; + assert( child.aaa === something ); +}); + + +TEST("what's the tree?", function() +{ + var a; + var b; + var c; + + // Please write your answer here. + // Don't use aaa, bbb or ccc in your code. + + a.aaa = 1; + assert( b.aaa === undefined ); + assert( c.aaa === 1 ); + + b.bbb = 2; + assert( a.bbb === 2 ); + assert( c.bbb === 2 ); + + c.ccc = 3; + assert( a.ccc === undefined ); + assert( b.ccc === undefined ); + +});
