/*
 *  CallExpression tests
 */

/*===
basic
1 2 3
1 2 3 4
===*/

function f(x) {
    return function (y) {
        return function (z) {
            print(x, y, z);
        }
    }
}

function g(x) {
    return {
        foo: function (y) {
            return function (z) {
                return {
                    bar: function (w) {
                        print(x, y, z, w);
                    }
                }
            }
        }
    }
}

function basicTest() {
    f(1)(2)(3);
    g(1).foo(2)(3).bar(4);
}

try {
    print('basic');
    basicTest();
} catch (e) {
    print(e.stack || e);
}

/*
 *  CallExpression tests
 */

/*---
{
    "skip": true
}
---*/

/* FIXME: expressions like: foo()() and foo().bar() etc */

--- 
+++ 
@@ -2,42 +2,10 @@
  *  CallExpression tests
  */
 
-/*===
-basic
-1 2 3
-1 2 3 4
-===*/
+/*---
+{
+    "skip": true
+}
+---*/
 
-function f(x) {
-    return function (y) {
-        return function (z) {
-            print(x, y, z);
-        }
-    }
-}
-
-function g(x) {
-    return {
-        foo: function (y) {
-            return function (z) {
-                return {
-                    bar: function (w) {
-                        print(x, y, z, w);
-                    }
-                }
-            }
-        }
-    }
-}
-
-function basicTest() {
-    f(1)(2)(3);
-    g(1).foo(2)(3).bar(4);
-}
-
-try {
-    print('basic');
-    basicTest();
-} catch (e) {
-    print(e.stack || e);
-}
+/* FIXME: expressions like: foo()() and foo().bar() etc */
Add a few basic call expression tests
