169 lines
4.7 KiB
JavaScript
169 lines
4.7 KiB
JavaScript
//
|
|
// Jala Project [http://opensvn.csie.org/traccgi/jala]
|
|
//
|
|
// Copyright 2004 ORF Online und Teletext GmbH
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the ``License'');
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an ``AS IS'' BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
// $Revision$
|
|
// $LastChangedBy$
|
|
// $LastChangedDate$
|
|
// $HeadURL$
|
|
//
|
|
|
|
|
|
/**
|
|
* Declare which test methods should be run in which order
|
|
* @type Array
|
|
* @final
|
|
*/
|
|
|
|
/**
|
|
* Test for jala.Test.evalArguments
|
|
*/
|
|
var testEvalArguments = function testEvalArguments() {
|
|
var args;
|
|
// test arguments without a comment
|
|
args = [true, false, 1, "one", new Date()];
|
|
jala.Test.evalArguments(args, 5);
|
|
// test arguments with a comment
|
|
args = ["a comment", true, false, 1, "one", new Date()];
|
|
jala.Test.evalArguments(args, 5);
|
|
return;
|
|
};
|
|
|
|
/**
|
|
* Test for jala.Test.containsComment
|
|
*/
|
|
var testArgsContainComment = function testArgsContainComment() {
|
|
var args = ["a comment", true];
|
|
if (jala.Test.argsContainComment(args, 1) !== true) {
|
|
throw new jala.Test.TestException(null,
|
|
"Argument array is supposed to contain a comment, but doesn't");
|
|
}
|
|
return;
|
|
};
|
|
|
|
/**
|
|
* Test for jala.Test.getComment
|
|
*/
|
|
var testGetComment = function testGetComment() {
|
|
var args = ["a comment", true];
|
|
if (jala.Test.getComment(args, 1) !== args[0]) {
|
|
throw new jala.Test.TestException(null, "Couldn't get comment");
|
|
}
|
|
return;
|
|
};
|
|
|
|
/**
|
|
* Test for jala.Test.getValue
|
|
*/
|
|
var testGetValue = function testGetValue() {
|
|
var args = ["a comment", 1, 2, 3];
|
|
if (jala.Test.getValue(args, 3, 1) !== args[2]) {
|
|
throw new jala.Test.TestException("Couldn't get correct argument value");
|
|
}
|
|
return;
|
|
};
|
|
|
|
/**
|
|
* Testing assertion functions
|
|
*/
|
|
var testBasicAssertionFunctions = function testAssertionFunctions() {
|
|
assertTrue("just a comment", true);
|
|
assertFalse("just a comment", false);
|
|
assertEqual(1, 1);
|
|
assertEqualArrays("asserting arrays", [1,2,3], [1,2,3]);
|
|
assertEqualArrays(["1","2"], ["1","2"]);
|
|
assertNotEqual(1, 2);
|
|
assertNull(null);
|
|
assertNotNull(true);
|
|
assertUndefined(undefined);
|
|
assertNotUndefined(true);
|
|
assertNaN("one");
|
|
assertNotNaN(1);
|
|
assertStringContains("just a self test", "self");
|
|
assertMatch("just a self test", /^just/);
|
|
return;
|
|
};
|
|
|
|
/**
|
|
* Testing assertThrows
|
|
*/
|
|
var testAssertThrows = function testAssertThrows() {
|
|
// throw undefined (yes, you can do that...)
|
|
assertThrows(function() {
|
|
throw undefined;
|
|
}, undefined);
|
|
// throw custom javascript object
|
|
assertThrows(function() {
|
|
throw new jala.Test.TestException("", "message");
|
|
}, jala.Test.TestException);
|
|
// throw string
|
|
assertThrows(function() {
|
|
throw "my message";
|
|
}, "my message");
|
|
// throw java exception
|
|
assertThrows(function() {
|
|
var x = new java.util.Vector(0);
|
|
res.debug(x.get(1));
|
|
}, java.lang.ArrayIndexOutOfBoundsException);
|
|
// throw anything, but don't check further
|
|
assertThrows(function() {
|
|
throw new Date();
|
|
});
|
|
// don't throw an expected exception
|
|
assertThrows(function() {
|
|
assertThrows(function() {
|
|
return;
|
|
}, "oy");
|
|
}, jala.Test.TestException);
|
|
return;
|
|
};
|
|
|
|
var testInclude = function() {
|
|
var dir = java.lang.System.getProperty("java.io.tmpdir");
|
|
var content = "var INCLUDED = true;";
|
|
// create include file with the above content
|
|
var file = new helma.File(dir, "testInclude." + (new Date()).getTime());
|
|
file.open();
|
|
file.write(content);
|
|
file.close();
|
|
include(file);
|
|
// now include the file and test if everything works
|
|
assertTrue(global["INCLUDED"]);
|
|
// finally remove the include file again
|
|
file.remove();
|
|
return;
|
|
};
|
|
|
|
/**
|
|
* Testing testAssertEqualFile
|
|
*/
|
|
var testAssertEqualFile = function testAssertEqualFile() {
|
|
var str = "This is just a simple test\r\n";
|
|
var dir = java.lang.System.getProperty("java.io.tmpdir");
|
|
// create test file and write the string into the file
|
|
var testFile = new helma.File(dir, "testAssertEqualFile." + (new Date()).getTime());
|
|
testFile.open();
|
|
testFile.write(str);
|
|
testFile.close();
|
|
// test string comparison
|
|
assertEqualFile(str, testFile);
|
|
// test byte array comparison
|
|
var arr = new java.lang.String(str).getBytes();
|
|
assertEqualFile(arr, testFile);
|
|
// finally, remove testFile again
|
|
testFile.remove();
|
|
return;
|
|
};
|