Mega Code Archive

 
Categories / JavaScript DHTML / Mochkit
 

Test partial application

<!-- MochiKit is dual-licensed software.  It is available under the terms of the MIT License, or the Academic Free License version 2.1.  The full text of each license is included below. --> <!-- Code revised from MochiKit demo code --> <html> <head>     <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Base.js"></script>     <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Iter.js"></script>     <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/DOM.js"></script>     <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Style.js"></script>     <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Logging.js"></script>     <script type="text/javascript" src="MochiKit-1.4.2/lib/MochiKit/Iter.js"></script> </head> <body> <pre id="test"> <script type="text/javascript">     var a = [];     var func = function (a, b) {         if (arguments.length != 2) {             return "bad args";         } else {             return this.value + a + b;         }     };     var self = {"value": 1, "func": func};     var self2 = {"value": 2};     alert( self.func(2, 3), 6, "setup for test is correct" );     self.funcTwo = partial(self.func, 2);     alert( self.funcTwo(3), 6, "partial application works" );     alert( self.funcTwo(3), 6, "partial application works still" );     alert( bind(self.funcTwo, self2)(3), 7, "rebinding partial works" );     self.funcTwo = bind(bind(self.funcTwo, self2), null);     alert( self.funcTwo(3), 6, "re-unbinding partial application works" ); </script> </pre> </body> </html>