1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-15 23:24:37 +03:00
2007-10-10 14:20:42 -05:00

237 lines
4.8 KiB
Plaintext

<%
/*
* 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 error;
}
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;
/*
* Local Variables:
* mode: c
* End:
*/
%>