mirror of
https://github.com/samba-team/samba.git
synced 2025-01-15 23:24:37 +03:00
250399c923
(This used to be commit a2b996317f81aa61d7d5bf427003399560e64f77)
237 lines
4.8 KiB
Plaintext
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:
|
|
*/
|
|
%>
|