summaryrefslogtreecommitdiff
path: root/jsonrpc/qooxdoo/test.esp
diff options
context:
space:
mode:
Diffstat (limited to 'jsonrpc/qooxdoo/test.esp')
-rw-r--r--jsonrpc/qooxdoo/test.esp230
1 files changed, 230 insertions, 0 deletions
diff --git a/jsonrpc/qooxdoo/test.esp b/jsonrpc/qooxdoo/test.esp
new file mode 100644
index 0000000000..5fd893c217
--- /dev/null
+++ b/jsonrpc/qooxdoo/test.esp
@@ -0,0 +1,230 @@
+<%
+/*
+ * Copyright:
+ * (C) 2006 by Derrell Lipman
+ * All rights reserved
+ *
+ * License:
+ * LGPL 2.1: http://creativecommons.org/licenses/LGPL/2.1/
+ */
+
+/*
+ * This is the standard qooxdoo test class. There are tests for each of the
+ * primitive types here, along with standard named tests "echo", "sink" and
+ * "sleep".
+ */
+
+/**
+ * Echo the (one and only) parameter.
+ *
+ * @param params
+ * An array containing the parameters to this method
+ *
+ * @param error
+ * An object of class JsonRpcError.
+ *
+ * @return
+ * Success: The object containing the result of the method;
+ * Failure: null
+ */
+function _echo(params, error)
+{
+ if (params.length != 1)
+ {
+ error.SetError(JsonRpcError_ParameterMismatch,
+ "Expected 1 parameter; got " + params.length);
+ return error;
+ }
+ return "Client said: [" + params[0] + "]";
+}
+jsonrpc.method.echo = _echo;
+
+/**
+ * Sink all data and never return.
+ *
+ * @param params
+ * An array containing the parameters to this method (none expected)
+ *
+ * @param error
+ * An object of class JsonRpcError.
+ *
+ * @return
+ * "Never"
+ */
+function _sink(params, error)
+{
+ /* We're never supposed to return. Just sleep for a very long time. */
+ sleep(240);
+}
+jsonrpc.method.sink = _sink;
+
+/**
+ * Sleep for the number of seconds specified by the parameter.
+ *
+ * @param params
+ * An array containing the parameters to this method (one expected)
+ *
+ * @param error
+ * An object of class JsonRpcError.
+ *
+ * @return
+ * Success: The object containing the result of the method;
+ * Failure: null
+ */
+function _sleep(params, error)
+{
+ if (params.length != 1)
+ {
+ error.SetError(JsonRpcError_ParameterMismatch,
+ "Expected 1 parameter; got " + params.length);
+ return null;
+ }
+
+ sleep(params[0]);
+ return params[0];
+}
+jsonrpc.method.sleep = _sleep;
+
+/*************************************************************************/
+
+/*
+ * The remainder of the functions test each individual primitive type, and
+ * test echoing arbitrary types. Hopefully the name is self-explanatory.
+ */
+
+function _getInteger(params, error)
+{
+ return 1;
+}
+jsonrpc.method.getInteger = _getInteger;
+
+function _getFloat(params, error)
+{
+ return 1/3;
+}
+jsonrpc.method.getFloat = _getFloat;
+
+function _getString(params, error)
+{
+ return "Hello world";
+}
+jsonrpc.method.getString = _getString;
+
+function _getBadString(params, error)
+{
+ return "<!DOCTYPE HTML \"-//IETF//DTD HTML 2.0//EN\">";
+}
+jsonrpc.method.getBadString = _getBadString;
+
+function _getArrayInteger(params, error)
+{
+ return new Array(1, 2, 3, 4);
+}
+jsonrpc.method.getArrayInteger = _getArrayInteger;
+
+function _getArrayString(params, error)
+{
+ return new Array("one", "two", "three", "four");
+}
+jsonrpc.method.getArrayString = _getArrayString;
+
+function _getObject(params, error)
+{
+ o = new Object(); // some arbitrary object
+ o.something = 23;
+ o.garbage = 'lkasjdff;lajsdfkl;sadf';
+ return o;
+}
+jsonrpc.method.getObject = _getObject;
+
+function _getTrue(params, error)
+{
+ return true;
+}
+jsonrpc.method.getTrue = _getTrue;
+
+function _getFalse(params, error)
+{
+ return false;
+}
+jsonrpc.method.getFalse = _getFalse;
+
+function _getNull(params, error)
+{
+ return null;
+}
+jsonrpc.method.getNull = _getNull;
+
+function _isInteger(params, error)
+{
+ var type = nativeTypeOf(params[0]);
+ return type == "integer" || type == "integer64";
+}
+jsonrpc.method.isInteger = _isInteger;
+
+function _isFloat(params, error)
+{
+ return nativeTypeOf(params[0]) == "float";
+}
+jsonrpc.method.isFloat = _isFloat;
+
+function _isString(params, error)
+{
+ return nativeTypeOf(params[0]) == "string";
+}
+jsonrpc.method.isString = _isString;
+
+function _isBoolean(params, error)
+{
+ return nativeTypeOf(params[0]) == "boolean";
+}
+jsonrpc.method.isBoolean = _isBoolean;
+
+function _isArray(params, error)
+{
+ return nativeTypeOf(params[0]) == "object" && params.length != undefined;
+}
+jsonrpc.method.isArray = _isArray;
+
+function _isObject(params, error)
+{
+ return nativeTypeOf(params[0]) == "object";
+}
+jsonrpc.method.isObject = _isObject;
+
+function _isNull(params, error)
+{
+ return nativeTypeOf(params[0]) == "null";
+}
+jsonrpc.method.isNull = _isNull;
+
+function _getParams(params, error)
+{
+ return params;
+}
+jsonrpc.method.getParams = _getParams;
+
+function _getParam(params, error)
+{
+ return params[0];
+}
+jsonrpc.method.getParam = _getParam;
+
+function _getCurrentTimestamp()
+{
+ now = gettimeofday();
+ obj = new Object();
+ obj.now = now.sec;
+ obj.json = JSON_Date.create(now);
+ return obj;
+}
+jsonrpc.method.getCurrentTimestamp = _getCurrentTimestamp;
+
+function _getError(params, error)
+{
+ error.SetError(23, "This is an application-provided error");
+ return error;
+}
+jsonrpc.method.getError = _getError;
+
+%>