/********************************************************************
* Tests for function parameter coversion when calling Java from JS *
********************************************************************/
function fpCallTests() {
document.getElementById("results").innerHTML += "
JS -> Java Call tests [Parameter type]:
";
var tbl = document.createElement("table");
var tblBody = document.createElement("tbody");
var columnNames = new Array();
columnNames[0] = "Parameter type";
columnNames[1] = "Sending";
columnNames[2] = "Expected reply";
columnNames[3] = "Reply";
columnNames[4] = "Status";
var row;
createResultTable(tbl, tblBody, columnNames);
PluginTest.setUpForReturnTests();
try {
row = document.createElement("tr");
type = "int";
send = 1;
reply = PluginTest.functioniParamTest(send);
addResult(type, send, send, reply, row);
check(send, reply, "number", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "double";
send = 1.1;
reply = PluginTest.functiondParamTest(send);
addResult(type, send, send, reply, row);
check(send, reply, "number", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "float";
send = 1.11;
reply = PluginTest.functionfParamTest(send);
addResult(type, send, send, reply, row);
check(send, reply, "number", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "long";
send = 4294967300;
reply = PluginTest.functionlParamTest(send);
addResult(type, send, send, reply, row);
check(send, reply, "number", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "boolean";
send = true;
reply = PluginTest.functionbParamTest(send);
addResult(type, send, send, reply, row);
check("true", reply, "string", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "char";
send = 75;
reply = PluginTest.functioncParamTest(send);
addResult(type, send, "K", reply, row);
check("K", reply, "string", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "byte";
send = 76;
reply = PluginTest.functionbyParamTest(send);
addResult(type, send, send, reply, row);
check(send, reply, "number", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "char[] (simple primitive)";
arr = new Array();
arr[0] = 80;
arr[1] = 81;
reply = PluginTest.functioncaParamTest(arr);
addResult(type, "[80,81]", "P:Q", reply, row);
check(reply, "P:Q", "string", row);
} catch (e) {
error(type, "P:Q", e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "String";
send = "$〒£€𝍖𠁎ǣ";
expectedreply = "$〒£€𝍖𠁎ǣ:java.lang.String";
reply = PluginTest.functionsParamTest(send);
addResult(type, send, expectedreply, reply, row);
check(expectedreply, reply, "string", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "Integer";
send = "32";
expectedreply = send+":java.lang.Integer";
reply = PluginTest.functionIParamTest(send);
addResult(type, send, expectedreply, reply, row);
check(expectedreply, reply, "string", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "Double";
send = 32.0;
expectedreply = "32.0:java.lang.Double";
reply = PluginTest.functionDParamTest(send);
addResult(type, send, expectedreply, reply, row);
check(expectedreply, reply, "string", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "Float";
send = 32.01;
expectedreply = send+":java.lang.Float";
reply = PluginTest.functionFParamTest(send);
addResult(type, send, expectedreply, reply, row);
check(expectedreply, reply, "string", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "Long";
send = 4294967301;
expectedreply = send+":java.lang.Long";
reply = PluginTest.functionLParamTest(send);
addResult(type, send, expectedreply, reply, row);
check(expectedreply, reply, "string", row);
} catch (e) {
error(type, send, e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "String/Int [] (mixed)";
arr = new Array();
arr[0] = "s1";
arr[1] = 42;
reply = PluginTest.functionsiaParamTest(arr);
addResult(type, "[s1,42]", "s1:42", reply, row);
check(reply, "s1:42", "string", row);
} catch (e) {
error(type, "s1:42", e, row);
}
tblBody.appendChild(row);
try {
row = document.createElement("tr");
type = "DummyObject[] (complex)";
arr = new Array();
arr[0] = new PluginTest.Packages.DummyObject("DummyObject1");
arr[1] = new PluginTest.Packages.DummyObject("DummyObject2");
reply = PluginTest.functioncomplexaParamTest(arr);
addResult(type, "[DummyObject1,DummyObjec2]", "DummyObject1:DummyObject2", reply, row);
check(reply, "DummyObject1:DummyObject2", "string", row);
} catch (e) {
error(type, "DummyObject1:DummyObject2", e, row);
}
tblBody.appendChild(row);
}