selenium-webdriver 0.0.24 → 0.0.25
Sign up to get free protection for your applications and to get access to all the features.
- data/{common/src/rb/CHANGES → CHANGES} +13 -0
- data/{common/src/rb/README → README} +1 -1
- data/{common/src/rb/lib → lib}/selenium-webdriver.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver.rb +2 -1
- data/{common/src/rb/lib → lib}/selenium/webdriver/bridge_helper.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/child_process.rb +0 -0
- data/{chrome/src/rb/lib → lib}/selenium/webdriver/chrome.rb +0 -0
- data/{chrome/src/rb/lib → lib}/selenium/webdriver/chrome/bridge.rb +2 -2
- data/{chrome/src/rb/lib → lib}/selenium/webdriver/chrome/command_executor.rb +0 -0
- data/lib/selenium/webdriver/chrome/extension.zip +0 -0
- data/{chrome/src/rb/lib → lib}/selenium/webdriver/chrome/launcher.rb +26 -20
- data/{common/src/rb/lib → lib}/selenium/webdriver/core_ext/dir.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/core_ext/string.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/driver.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/driver_extensions/takes_screenshot.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/element.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/error.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/file_reaper.rb +2 -1
- data/{common/src/rb/lib → lib}/selenium/webdriver/find.rb +0 -0
- data/{firefox/src/rb/lib → lib}/selenium/webdriver/firefox.rb +2 -1
- data/{firefox/src/rb/lib → lib}/selenium/webdriver/firefox/binary.rb +32 -6
- data/{firefox/src/rb/lib → lib}/selenium/webdriver/firefox/bridge.rb +0 -0
- data/lib/selenium/webdriver/firefox/extension/webdriver.xpi +0 -0
- data/{firefox/src/rb/lib → lib}/selenium/webdriver/firefox/launcher.rb +0 -0
- data/lib/selenium/webdriver/firefox/native/linux/amd64/x_ignore_nofocus.so +0 -0
- data/lib/selenium/webdriver/firefox/native/linux/x86/x_ignore_nofocus.so +0 -0
- data/{firefox/src/rb/lib → lib}/selenium/webdriver/firefox/profile.rb +37 -72
- data/{firefox/src/rb/lib → lib}/selenium/webdriver/firefox/profiles_ini.rb +0 -0
- data/{firefox/src/rb/lib → lib}/selenium/webdriver/firefox/util.rb +0 -0
- data/{jobbie/src/rb/lib → lib}/selenium/webdriver/ie.rb +2 -2
- data/{jobbie/src/rb/lib → lib}/selenium/webdriver/ie/bridge.rb +7 -2
- data/{jobbie/src/rb/lib → lib}/selenium/webdriver/ie/lib.rb +0 -0
- data/{jobbie/prebuilt/Win32/Release → lib/selenium/webdriver/ie/native/win32}/InternetExplorerDriver.dll +0 -0
- data/lib/selenium/webdriver/ie/native/x64/InternetExplorerDriver.dll +0 -0
- data/{jobbie/src/rb/lib → lib}/selenium/webdriver/ie/util.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/keys.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/navigation.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/options.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/platform.rb +5 -1
- data/{remote/client/src/rb/lib → lib}/selenium/webdriver/remote.rb +0 -0
- data/{remote/client/src/rb/lib → lib}/selenium/webdriver/remote/bridge.rb +0 -0
- data/{remote/client/src/rb/lib → lib}/selenium/webdriver/remote/capabilities.rb +0 -0
- data/{remote/client/src/rb/lib → lib}/selenium/webdriver/remote/commands.rb +0 -0
- data/{remote/client/src/rb/lib → lib}/selenium/webdriver/remote/http/common.rb +0 -0
- data/{remote/client/src/rb/lib → lib}/selenium/webdriver/remote/http/curb.rb +0 -0
- data/{remote/client/src/rb/lib → lib}/selenium/webdriver/remote/http/default.rb +5 -1
- data/{remote/client/src/rb/lib → lib}/selenium/webdriver/remote/response.rb +0 -0
- data/{remote/client/src/rb/lib → lib}/selenium/webdriver/remote/server_error.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/target_locator.rb +0 -0
- data/{common/src/rb/lib → lib}/selenium/webdriver/timeouts.rb +0 -0
- data/lib/selenium/webdriver/zip_helper.rb +30 -0
- metadata +73 -214
- data/COPYING +0 -204
- data/chrome/prebuilt/Win32/Release/npchromedriver.dll +0 -0
- data/chrome/prebuilt/x64/Release/npchromedriver.dll +0 -0
- data/chrome/src/extension/background.html +0 -9
- data/chrome/src/extension/background.js +0 -1029
- data/chrome/src/extension/content_script.js +0 -1488
- data/chrome/src/extension/icons/busy.png +0 -0
- data/chrome/src/extension/icons/free.png +0 -0
- data/chrome/src/extension/manifest-nonwin.json +0 -19
- data/chrome/src/extension/manifest-win.json +0 -20
- data/chrome/src/extension/utils.js +0 -231
- data/common/src/js/abstractcommandprocessor.js +0 -132
- data/common/src/js/asserts.js +0 -296
- data/common/src/js/by.js +0 -149
- data/common/src/js/command.js +0 -380
- data/common/src/js/core/Blank.html +0 -7
- data/common/src/js/core/InjectedRemoteRunner.html +0 -8
- data/common/src/js/core/RemoteRunner.html +0 -101
- data/common/src/js/core/SeleniumLog.html +0 -109
- data/common/src/js/core/TestPrompt.html +0 -145
- data/common/src/js/core/TestRunner-splash.html +0 -55
- data/common/src/js/core/TestRunner.html +0 -165
- data/common/src/js/core/icons/all.png +0 -0
- data/common/src/js/core/icons/continue.png +0 -0
- data/common/src/js/core/icons/continue_disabled.png +0 -0
- data/common/src/js/core/icons/pause.png +0 -0
- data/common/src/js/core/icons/pause_disabled.png +0 -0
- data/common/src/js/core/icons/selected.png +0 -0
- data/common/src/js/core/icons/step.png +0 -0
- data/common/src/js/core/icons/step_disabled.png +0 -0
- data/common/src/js/core/lib/cssQuery/cssQuery-p.js +0 -6
- data/common/src/js/core/lib/cssQuery/src/cssQuery-level2.js +0 -142
- data/common/src/js/core/lib/cssQuery/src/cssQuery-level3.js +0 -150
- data/common/src/js/core/lib/cssQuery/src/cssQuery-standard.js +0 -53
- data/common/src/js/core/lib/cssQuery/src/cssQuery.js +0 -356
- data/common/src/js/core/lib/prototype.js +0 -2006
- data/common/src/js/core/lib/scriptaculous/builder.js +0 -101
- data/common/src/js/core/lib/scriptaculous/controls.js +0 -815
- data/common/src/js/core/lib/scriptaculous/dragdrop.js +0 -915
- data/common/src/js/core/lib/scriptaculous/effects.js +0 -958
- data/common/src/js/core/lib/scriptaculous/scriptaculous.js +0 -47
- data/common/src/js/core/lib/scriptaculous/slider.js +0 -283
- data/common/src/js/core/lib/scriptaculous/unittest.js +0 -383
- data/common/src/js/core/lib/snapsie.js +0 -91
- data/common/src/js/core/scripts/find_matching_child.js +0 -69
- data/common/src/js/core/scripts/htmlutils.js +0 -8716
- data/common/src/js/core/scripts/injection.html +0 -72
- data/common/src/js/core/scripts/selenium-api.js +0 -3291
- data/common/src/js/core/scripts/selenium-browserbot.js +0 -2457
- data/common/src/js/core/scripts/selenium-browserdetect.js +0 -153
- data/common/src/js/core/scripts/selenium-commandhandlers.js +0 -379
- data/common/src/js/core/scripts/selenium-executionloop.js +0 -175
- data/common/src/js/core/scripts/selenium-logging.js +0 -148
- data/common/src/js/core/scripts/selenium-remoterunner.js +0 -695
- data/common/src/js/core/scripts/selenium-testrunner.js +0 -1362
- data/common/src/js/core/scripts/selenium-version.js +0 -5
- data/common/src/js/core/scripts/ui-doc.html +0 -808
- data/common/src/js/core/scripts/ui-element.js +0 -1644
- data/common/src/js/core/scripts/ui-map-sample.js +0 -979
- data/common/src/js/core/scripts/user-extensions.js +0 -3
- data/common/src/js/core/scripts/user-extensions.js.sample +0 -75
- data/common/src/js/core/scripts/xmlextras.js +0 -153
- data/common/src/js/core/selenium-logo.png +0 -0
- data/common/src/js/core/selenium-test.css +0 -43
- data/common/src/js/core/selenium.css +0 -316
- data/common/src/js/core/xpath/dom.js +0 -566
- data/common/src/js/core/xpath/javascript-xpath-0.1.11.js +0 -2816
- data/common/src/js/core/xpath/util.js +0 -549
- data/common/src/js/core/xpath/xmltoken.js +0 -149
- data/common/src/js/core/xpath/xpath.js +0 -2481
- data/common/src/js/extension/README +0 -2
- data/common/src/js/extension/dommessenger.js +0 -152
- data/common/src/js/factory.js +0 -55
- data/common/src/js/future.js +0 -141
- data/common/src/js/jsunit.js +0 -40
- data/common/src/js/jsunit/app/css/jsUnitStyle.css +0 -50
- data/common/src/js/jsunit/app/css/readme +0 -10
- data/common/src/js/jsunit/app/emptyPage.html +0 -11
- data/common/src/js/jsunit/app/jsUnitCore.js +0 -534
- data/common/src/js/jsunit/app/jsUnitMockTimeout.js +0 -81
- data/common/src/js/jsunit/app/jsUnitTestManager.js +0 -705
- data/common/src/js/jsunit/app/jsUnitTestSuite.js +0 -44
- data/common/src/js/jsunit/app/jsUnitTracer.js +0 -102
- data/common/src/js/jsunit/app/jsUnitVersionCheck.js +0 -59
- data/common/src/js/jsunit/app/main-counts-errors.html +0 -12
- data/common/src/js/jsunit/app/main-counts-failures.html +0 -13
- data/common/src/js/jsunit/app/main-counts-runs.html +0 -13
- data/common/src/js/jsunit/app/main-counts.html +0 -21
- data/common/src/js/jsunit/app/main-data.html +0 -178
- data/common/src/js/jsunit/app/main-errors.html +0 -23
- data/common/src/js/jsunit/app/main-frame.html +0 -19
- data/common/src/js/jsunit/app/main-loader.html +0 -45
- data/common/src/js/jsunit/app/main-progress.html +0 -25
- data/common/src/js/jsunit/app/main-results.html +0 -67
- data/common/src/js/jsunit/app/main-status.html +0 -13
- data/common/src/js/jsunit/app/testContainer.html +0 -16
- data/common/src/js/jsunit/app/testContainerController.html +0 -77
- data/common/src/js/jsunit/app/xbDebug.js +0 -306
- data/common/src/js/jsunit/changelog.txt +0 -60
- data/common/src/js/jsunit/css/jsUnitStyle.css +0 -83
- data/common/src/js/jsunit/images/green.gif +0 -0
- data/common/src/js/jsunit/images/logo_jsunit.gif +0 -0
- data/common/src/js/jsunit/images/powerby-transparent.gif +0 -0
- data/common/src/js/jsunit/images/red.gif +0 -0
- data/common/src/js/jsunit/licenses/JDOM_license.txt +0 -56
- data/common/src/js/jsunit/licenses/Jetty_license.html +0 -213
- data/common/src/js/jsunit/licenses/MPL-1.1.txt +0 -470
- data/common/src/js/jsunit/licenses/gpl-2.txt +0 -340
- data/common/src/js/jsunit/licenses/index.html +0 -141
- data/common/src/js/jsunit/licenses/lgpl-2.1.txt +0 -504
- data/common/src/js/jsunit/licenses/mpl-tri-license-c.txt +0 -35
- data/common/src/js/jsunit/licenses/mpl-tri-license-html.txt +0 -35
- data/common/src/js/jsunit/readme.txt +0 -19
- data/common/src/js/jsunit/testRunner.html +0 -167
- data/common/src/js/jsunit/version.txt +0 -1
- data/common/src/js/key.js +0 -117
- data/common/src/js/localcommandprocessor.js +0 -171
- data/common/src/js/testcase.js +0 -219
- data/common/src/js/timing.js +0 -89
- data/common/src/js/webdriver.js +0 -860
- data/common/src/js/webelement.js +0 -483
- data/firefox/prebuilt/Win32/Release/webdriver-firefox.dll +0 -0
- data/firefox/prebuilt/amd64/libnoblur64.so +0 -0
- data/firefox/prebuilt/i386/libnoblur.so +0 -0
- data/firefox/prebuilt/linux/Release/libwebdriver-firefox.so +0 -0
- data/firefox/prebuilt/linux64/Release/libwebdriver-firefox.so +0 -0
- data/firefox/prebuilt/nsICommandProcessor.xpt +0 -0
- data/firefox/prebuilt/nsINativeEvents.xpt +0 -0
- data/firefox/prebuilt/nsIResponseHandler.xpt +0 -0
- data/firefox/src/extension/chrome.manifest +0 -3
- data/firefox/src/extension/components/badCertListener.js +0 -295
- data/firefox/src/extension/components/dispatcher.js +0 -495
- data/firefox/src/extension/components/driver-component.js +0 -130
- data/firefox/src/extension/components/errorcode.js +0 -70
- data/firefox/src/extension/components/firefoxDriver.js +0 -831
- data/firefox/src/extension/components/json2.js +0 -273
- data/firefox/src/extension/components/keytest.html +0 -554
- data/firefox/src/extension/components/nsCommandProcessor.js +0 -684
- data/firefox/src/extension/components/promptService.js +0 -208
- data/firefox/src/extension/components/request.js +0 -219
- data/firefox/src/extension/components/response.js +0 -276
- data/firefox/src/extension/components/screenshooter.js +0 -81
- data/firefox/src/extension/components/session.js +0 -314
- data/firefox/src/extension/components/sessionstore.js +0 -226
- data/firefox/src/extension/components/socketListener.js +0 -435
- data/firefox/src/extension/components/utils.js +0 -1335
- data/firefox/src/extension/components/webLoadingListener.js +0 -57
- data/firefox/src/extension/components/webdriverserver.js +0 -110
- data/firefox/src/extension/components/wrappedElement.js +0 -706
- data/firefox/src/extension/content/fxdriver.xul +0 -30
- data/firefox/src/extension/content/server.js +0 -95
- data/firefox/src/extension/idl/nsICommandProcessor.idl +0 -38
- data/firefox/src/extension/idl/nsIResponseHandler.idl +0 -34
- data/firefox/src/extension/install.rdf +0 -29
- data/jobbie/prebuilt/x64/Release/InternetExplorerDriver.dll +0 -0
@@ -1,11 +0,0 @@
|
|
1
|
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
-
<title>emptyPage</title>
|
6
|
-
</head>
|
7
|
-
|
8
|
-
<body>
|
9
|
-
</body>
|
10
|
-
</html>
|
11
|
-
|
@@ -1,534 +0,0 @@
|
|
1
|
-
var JSUNIT_UNDEFINED_VALUE;
|
2
|
-
var JSUNIT_VERSION = 2.2;
|
3
|
-
var isTestPageLoaded = false;
|
4
|
-
|
5
|
-
//hack for NS62 bug
|
6
|
-
function jsUnitFixTop() {
|
7
|
-
var tempTop = top;
|
8
|
-
if (!tempTop) {
|
9
|
-
tempTop = window;
|
10
|
-
while (tempTop.parent) {
|
11
|
-
tempTop = tempTop.parent;
|
12
|
-
if (tempTop.top && tempTop.top.jsUnitTestSuite) {
|
13
|
-
tempTop = tempTop.top;
|
14
|
-
break;
|
15
|
-
}
|
16
|
-
}
|
17
|
-
}
|
18
|
-
try {
|
19
|
-
window.top = tempTop;
|
20
|
-
} catch (e) {
|
21
|
-
}
|
22
|
-
}
|
23
|
-
|
24
|
-
jsUnitFixTop();
|
25
|
-
|
26
|
-
/**
|
27
|
-
+ * A more functional typeof
|
28
|
-
+ * @param Object o
|
29
|
-
+ * @return String
|
30
|
-
+ */
|
31
|
-
function _trueTypeOf(something) {
|
32
|
-
var result = typeof something;
|
33
|
-
try {
|
34
|
-
switch (result) {
|
35
|
-
case 'string':
|
36
|
-
case 'boolean':
|
37
|
-
case 'number':
|
38
|
-
break;
|
39
|
-
case 'object':
|
40
|
-
case 'function':
|
41
|
-
switch (something.constructor)
|
42
|
-
{
|
43
|
-
case String:
|
44
|
-
result = 'String';
|
45
|
-
break;
|
46
|
-
case Boolean:
|
47
|
-
result = 'Boolean';
|
48
|
-
break;
|
49
|
-
case Number:
|
50
|
-
result = 'Number';
|
51
|
-
break;
|
52
|
-
case Array:
|
53
|
-
result = 'Array';
|
54
|
-
break;
|
55
|
-
case RegExp:
|
56
|
-
result = 'RegExp';
|
57
|
-
break;
|
58
|
-
case Function:
|
59
|
-
result = 'Function';
|
60
|
-
break;
|
61
|
-
default:
|
62
|
-
var m = something.constructor.toString().match(/function\s*([^( ]+)\(/);
|
63
|
-
if (m)
|
64
|
-
result = m[1];
|
65
|
-
else
|
66
|
-
break;
|
67
|
-
}
|
68
|
-
break;
|
69
|
-
}
|
70
|
-
}
|
71
|
-
finally {
|
72
|
-
result = result.substr(0, 1).toUpperCase() + result.substr(1);
|
73
|
-
return result;
|
74
|
-
}
|
75
|
-
}
|
76
|
-
|
77
|
-
function _displayStringForValue(aVar) {
|
78
|
-
var result = '<' + aVar + '>';
|
79
|
-
if (!(aVar === null || aVar === top.JSUNIT_UNDEFINED_VALUE)) {
|
80
|
-
result += ' (' + _trueTypeOf(aVar) + ')';
|
81
|
-
}
|
82
|
-
return result;
|
83
|
-
}
|
84
|
-
|
85
|
-
function fail(failureMessage) {
|
86
|
-
throw new JsUnitException("Call to fail()", failureMessage);
|
87
|
-
}
|
88
|
-
|
89
|
-
function error(errorMessage) {
|
90
|
-
var errorObject = new Object();
|
91
|
-
errorObject.description = errorMessage;
|
92
|
-
errorObject.stackTrace = getStackTrace();
|
93
|
-
throw errorObject;
|
94
|
-
}
|
95
|
-
|
96
|
-
function argumentsIncludeComments(expectedNumberOfNonCommentArgs, args) {
|
97
|
-
return args.length == expectedNumberOfNonCommentArgs + 1;
|
98
|
-
}
|
99
|
-
|
100
|
-
function commentArg(expectedNumberOfNonCommentArgs, args) {
|
101
|
-
if (argumentsIncludeComments(expectedNumberOfNonCommentArgs, args))
|
102
|
-
return args[0];
|
103
|
-
|
104
|
-
return null;
|
105
|
-
}
|
106
|
-
|
107
|
-
function nonCommentArg(desiredNonCommentArgIndex, expectedNumberOfNonCommentArgs, args) {
|
108
|
-
return argumentsIncludeComments(expectedNumberOfNonCommentArgs, args) ?
|
109
|
-
args[desiredNonCommentArgIndex] :
|
110
|
-
args[desiredNonCommentArgIndex - 1];
|
111
|
-
}
|
112
|
-
|
113
|
-
function _validateArguments(expectedNumberOfNonCommentArgs, args) {
|
114
|
-
if (!( args.length == expectedNumberOfNonCommentArgs ||
|
115
|
-
(args.length == expectedNumberOfNonCommentArgs + 1 && typeof(args[0]) == 'string') ))
|
116
|
-
error('Incorrect arguments passed to assert function');
|
117
|
-
}
|
118
|
-
|
119
|
-
function _assert(comment, booleanValue, failureMessage) {
|
120
|
-
if (!booleanValue)
|
121
|
-
throw new JsUnitException(comment, failureMessage);
|
122
|
-
}
|
123
|
-
|
124
|
-
function assert() {
|
125
|
-
_validateArguments(1, arguments);
|
126
|
-
var booleanValue = nonCommentArg(1, 1, arguments);
|
127
|
-
|
128
|
-
if (typeof(booleanValue) != 'boolean')
|
129
|
-
error('Bad argument to assert(boolean)');
|
130
|
-
|
131
|
-
_assert(commentArg(1, arguments), booleanValue === true, 'Call to assert(boolean) with false');
|
132
|
-
}
|
133
|
-
|
134
|
-
function assertTrue() {
|
135
|
-
_validateArguments(1, arguments);
|
136
|
-
var booleanValue = nonCommentArg(1, 1, arguments);
|
137
|
-
|
138
|
-
if (typeof(booleanValue) != 'boolean')
|
139
|
-
error('Bad argument to assertTrue(boolean)');
|
140
|
-
|
141
|
-
_assert(commentArg(1, arguments), booleanValue === true, 'Call to assertTrue(boolean) with false');
|
142
|
-
}
|
143
|
-
|
144
|
-
function assertFalse() {
|
145
|
-
_validateArguments(1, arguments);
|
146
|
-
var booleanValue = nonCommentArg(1, 1, arguments);
|
147
|
-
|
148
|
-
if (typeof(booleanValue) != 'boolean')
|
149
|
-
error('Bad argument to assertFalse(boolean)');
|
150
|
-
|
151
|
-
_assert(commentArg(1, arguments), booleanValue === false, 'Call to assertFalse(boolean) with true');
|
152
|
-
}
|
153
|
-
|
154
|
-
function assertEquals() {
|
155
|
-
_validateArguments(2, arguments);
|
156
|
-
var var1 = nonCommentArg(1, 2, arguments);
|
157
|
-
var var2 = nonCommentArg(2, 2, arguments);
|
158
|
-
_assert(commentArg(2, arguments), var1 === var2, 'Expected ' + _displayStringForValue(var1) + ' but was ' + _displayStringForValue(var2));
|
159
|
-
}
|
160
|
-
|
161
|
-
function assertNotEquals() {
|
162
|
-
_validateArguments(2, arguments);
|
163
|
-
var var1 = nonCommentArg(1, 2, arguments);
|
164
|
-
var var2 = nonCommentArg(2, 2, arguments);
|
165
|
-
_assert(commentArg(2, arguments), var1 !== var2, 'Expected not to be ' + _displayStringForValue(var2));
|
166
|
-
}
|
167
|
-
|
168
|
-
function assertNull() {
|
169
|
-
_validateArguments(1, arguments);
|
170
|
-
var aVar = nonCommentArg(1, 1, arguments);
|
171
|
-
_assert(commentArg(1, arguments), aVar === null, 'Expected ' + _displayStringForValue(null) + ' but was ' + _displayStringForValue(aVar));
|
172
|
-
}
|
173
|
-
|
174
|
-
function assertNotNull() {
|
175
|
-
_validateArguments(1, arguments);
|
176
|
-
var aVar = nonCommentArg(1, 1, arguments);
|
177
|
-
_assert(commentArg(1, arguments), aVar !== null, 'Expected not to be ' + _displayStringForValue(null));
|
178
|
-
}
|
179
|
-
|
180
|
-
function assertUndefined() {
|
181
|
-
_validateArguments(1, arguments);
|
182
|
-
var aVar = nonCommentArg(1, 1, arguments);
|
183
|
-
_assert(commentArg(1, arguments), aVar === top.JSUNIT_UNDEFINED_VALUE, 'Expected ' + _displayStringForValue(top.JSUNIT_UNDEFINED_VALUE) + ' but was ' + _displayStringForValue(aVar));
|
184
|
-
}
|
185
|
-
|
186
|
-
function assertNotUndefined() {
|
187
|
-
_validateArguments(1, arguments);
|
188
|
-
var aVar = nonCommentArg(1, 1, arguments);
|
189
|
-
_assert(commentArg(1, arguments), aVar !== top.JSUNIT_UNDEFINED_VALUE, 'Expected not to be ' + _displayStringForValue(top.JSUNIT_UNDEFINED_VALUE));
|
190
|
-
}
|
191
|
-
|
192
|
-
function assertNaN() {
|
193
|
-
_validateArguments(1, arguments);
|
194
|
-
var aVar = nonCommentArg(1, 1, arguments);
|
195
|
-
_assert(commentArg(1, arguments), isNaN(aVar), 'Expected NaN');
|
196
|
-
}
|
197
|
-
|
198
|
-
function assertNotNaN() {
|
199
|
-
_validateArguments(1, arguments);
|
200
|
-
var aVar = nonCommentArg(1, 1, arguments);
|
201
|
-
_assert(commentArg(1, arguments), !isNaN(aVar), 'Expected not NaN');
|
202
|
-
}
|
203
|
-
|
204
|
-
function assertObjectEquals() {
|
205
|
-
_validateArguments(2, arguments);
|
206
|
-
var var1 = nonCommentArg(1, 2, arguments);
|
207
|
-
var var2 = nonCommentArg(2, 2, arguments);
|
208
|
-
var type;
|
209
|
-
var msg = commentArg(2, arguments)?commentArg(2, arguments):'';
|
210
|
-
var isSame = (var1 === var2);
|
211
|
-
//shortpath for references to same object
|
212
|
-
var isEqual = ( (type = _trueTypeOf(var1)) == _trueTypeOf(var2) );
|
213
|
-
if (isEqual && !isSame) {
|
214
|
-
switch (type) {
|
215
|
-
case 'String':
|
216
|
-
case 'Number':
|
217
|
-
isEqual = (var1 == var2);
|
218
|
-
break;
|
219
|
-
case 'Boolean':
|
220
|
-
case 'Date':
|
221
|
-
isEqual = (var1 === var2);
|
222
|
-
break;
|
223
|
-
case 'RegExp':
|
224
|
-
case 'Function':
|
225
|
-
isEqual = (var1.toString() === var2.toString());
|
226
|
-
break;
|
227
|
-
default: //Object | Array
|
228
|
-
var i;
|
229
|
-
if (isEqual = (var1.length === var2.length))
|
230
|
-
for (i in var1)
|
231
|
-
assertObjectEquals(msg + ' found nested ' + type + '@' + i + '\n', var1[i], var2[i]);
|
232
|
-
}
|
233
|
-
_assert(msg, isEqual, 'Expected ' + _displayStringForValue(var1) + ' but was ' + _displayStringForValue(var2));
|
234
|
-
}
|
235
|
-
}
|
236
|
-
|
237
|
-
assertArrayEquals = assertObjectEquals;
|
238
|
-
|
239
|
-
function assertEvaluatesToTrue() {
|
240
|
-
_validateArguments(1, arguments);
|
241
|
-
var value = nonCommentArg(1, 1, arguments);
|
242
|
-
if (!value)
|
243
|
-
fail(commentArg(1, arguments));
|
244
|
-
}
|
245
|
-
|
246
|
-
function assertEvaluatesToFalse() {
|
247
|
-
_validateArguments(1, arguments);
|
248
|
-
var value = nonCommentArg(1, 1, arguments);
|
249
|
-
if (value)
|
250
|
-
fail(commentArg(1, arguments));
|
251
|
-
}
|
252
|
-
|
253
|
-
function assertHTMLEquals() {
|
254
|
-
_validateArguments(2, arguments);
|
255
|
-
var var1 = nonCommentArg(1, 2, arguments);
|
256
|
-
var var2 = nonCommentArg(2, 2, arguments);
|
257
|
-
var var1Standardized = standardizeHTML(var1);
|
258
|
-
var var2Standardized = standardizeHTML(var2);
|
259
|
-
|
260
|
-
_assert(commentArg(2, arguments), var1Standardized === var2Standardized, 'Expected ' + _displayStringForValue(var1Standardized) + ' but was ' + _displayStringForValue(var2Standardized));
|
261
|
-
}
|
262
|
-
|
263
|
-
function assertHashEquals() {
|
264
|
-
_validateArguments(2, arguments);
|
265
|
-
var var1 = nonCommentArg(1, 2, arguments);
|
266
|
-
var var2 = nonCommentArg(2, 2, arguments);
|
267
|
-
for (var key in var1) {
|
268
|
-
assertNotUndefined("Expected hash had key " + key + " that was not found", var2[key]);
|
269
|
-
assertEquals(
|
270
|
-
"Value for key " + key + " mismatch - expected = " + var1[key] + ", actual = " + var2[key],
|
271
|
-
var1[key], var2[key]
|
272
|
-
);
|
273
|
-
}
|
274
|
-
for (var key in var2) {
|
275
|
-
assertNotUndefined("Actual hash had key " + key + " that was not expected", var1[key]);
|
276
|
-
}
|
277
|
-
}
|
278
|
-
|
279
|
-
function assertRoughlyEquals() {
|
280
|
-
_validateArguments(3, arguments);
|
281
|
-
var expected = nonCommentArg(1, 3, arguments);
|
282
|
-
var actual = nonCommentArg(2, 3, arguments);
|
283
|
-
var tolerance = nonCommentArg(3, 3, arguments);
|
284
|
-
assertTrue(
|
285
|
-
"Expected " + expected + ", but got " + actual + " which was more than " + tolerance + " away",
|
286
|
-
Math.abs(expected - actual) < tolerance
|
287
|
-
);
|
288
|
-
}
|
289
|
-
|
290
|
-
function assertContains() {
|
291
|
-
_validateArguments(2, arguments);
|
292
|
-
var contained = nonCommentArg(1, 2, arguments);
|
293
|
-
var container = nonCommentArg(2, 2, arguments);
|
294
|
-
assertTrue(
|
295
|
-
"Expected '" + container + "' to contain '" + contained + "'",
|
296
|
-
container.indexOf(contained) != -1
|
297
|
-
);
|
298
|
-
}
|
299
|
-
|
300
|
-
function standardizeHTML(html) {
|
301
|
-
var translator = document.createElement("DIV");
|
302
|
-
translator.innerHTML = html;
|
303
|
-
return translator.innerHTML;
|
304
|
-
}
|
305
|
-
|
306
|
-
function isLoaded() {
|
307
|
-
return isTestPageLoaded;
|
308
|
-
}
|
309
|
-
|
310
|
-
function setUp() {
|
311
|
-
}
|
312
|
-
|
313
|
-
function tearDown() {
|
314
|
-
}
|
315
|
-
|
316
|
-
function getFunctionName(aFunction) {
|
317
|
-
var regexpResult = aFunction.toString().match(/function(\s*)(\w*)/);
|
318
|
-
if (regexpResult && regexpResult.length >= 2 && regexpResult[2]) {
|
319
|
-
return regexpResult[2];
|
320
|
-
}
|
321
|
-
return 'anonymous';
|
322
|
-
}
|
323
|
-
|
324
|
-
function getStackTrace() {
|
325
|
-
var result = '';
|
326
|
-
|
327
|
-
if (typeof(arguments.caller) != 'undefined') { // IE, not ECMA
|
328
|
-
for (var a = arguments.caller; a != null; a = a.caller) {
|
329
|
-
result += '> ' + getFunctionName(a.callee) + '\n';
|
330
|
-
if (a.caller == a) {
|
331
|
-
result += '*';
|
332
|
-
break;
|
333
|
-
}
|
334
|
-
}
|
335
|
-
}
|
336
|
-
else { // Mozilla, not ECMA
|
337
|
-
// fake an exception so we can get Mozilla's error stack
|
338
|
-
var testExcp;
|
339
|
-
try
|
340
|
-
{
|
341
|
-
foo.bar;
|
342
|
-
}
|
343
|
-
catch(testExcp)
|
344
|
-
{
|
345
|
-
var stack = parseErrorStack(testExcp);
|
346
|
-
for (var i = 1; i < stack.length; i++)
|
347
|
-
{
|
348
|
-
result += '> ' + stack[i] + '\n';
|
349
|
-
}
|
350
|
-
}
|
351
|
-
}
|
352
|
-
|
353
|
-
return result;
|
354
|
-
}
|
355
|
-
|
356
|
-
function parseErrorStack(excp)
|
357
|
-
{
|
358
|
-
var stack = [];
|
359
|
-
var name;
|
360
|
-
|
361
|
-
if (!excp || !excp.stack)
|
362
|
-
{
|
363
|
-
return stack;
|
364
|
-
}
|
365
|
-
|
366
|
-
var stacklist = excp.stack.split('\n');
|
367
|
-
|
368
|
-
for (var i = 0; i < stacklist.length - 1; i++)
|
369
|
-
{
|
370
|
-
var framedata = stacklist[i];
|
371
|
-
|
372
|
-
name = framedata.match(/^(\w*)/)[1];
|
373
|
-
if (!name) {
|
374
|
-
name = 'anonymous';
|
375
|
-
}
|
376
|
-
|
377
|
-
stack[stack.length] = name;
|
378
|
-
}
|
379
|
-
// remove top level anonymous functions to match IE
|
380
|
-
|
381
|
-
while (stack.length && stack[stack.length - 1] == 'anonymous')
|
382
|
-
{
|
383
|
-
stack.length = stack.length - 1;
|
384
|
-
}
|
385
|
-
return stack;
|
386
|
-
}
|
387
|
-
|
388
|
-
function JsUnitException(comment, message) {
|
389
|
-
this.isJsUnitException = true;
|
390
|
-
this.comment = comment;
|
391
|
-
this.jsUnitMessage = message;
|
392
|
-
this.stackTrace = getStackTrace();
|
393
|
-
}
|
394
|
-
|
395
|
-
function warn() {
|
396
|
-
if (top.tracer != null)
|
397
|
-
top.tracer.warn(arguments[0], arguments[1]);
|
398
|
-
}
|
399
|
-
|
400
|
-
function inform() {
|
401
|
-
if (top.tracer != null)
|
402
|
-
top.tracer.inform(arguments[0], arguments[1]);
|
403
|
-
}
|
404
|
-
|
405
|
-
function info() {
|
406
|
-
inform(arguments[0], arguments[1]);
|
407
|
-
}
|
408
|
-
|
409
|
-
function debug() {
|
410
|
-
if (top.tracer != null)
|
411
|
-
top.tracer.debug(arguments[0], arguments[1]);
|
412
|
-
}
|
413
|
-
|
414
|
-
function setJsUnitTracer(aJsUnitTracer) {
|
415
|
-
top.tracer = aJsUnitTracer;
|
416
|
-
}
|
417
|
-
|
418
|
-
function trim(str) {
|
419
|
-
if (str == null)
|
420
|
-
return null;
|
421
|
-
|
422
|
-
var startingIndex = 0;
|
423
|
-
var endingIndex = str.length - 1;
|
424
|
-
|
425
|
-
while (str.substring(startingIndex, startingIndex + 1) == ' ')
|
426
|
-
startingIndex++;
|
427
|
-
|
428
|
-
while (str.substring(endingIndex, endingIndex + 1) == ' ')
|
429
|
-
endingIndex--;
|
430
|
-
|
431
|
-
if (endingIndex < startingIndex)
|
432
|
-
return '';
|
433
|
-
|
434
|
-
return str.substring(startingIndex, endingIndex + 1);
|
435
|
-
}
|
436
|
-
|
437
|
-
function isBlank(str) {
|
438
|
-
return trim(str) == '';
|
439
|
-
}
|
440
|
-
|
441
|
-
// the functions push(anArray, anObject) and pop(anArray)
|
442
|
-
// exist because the JavaScript Array.push(anObject) and Array.pop()
|
443
|
-
// functions are not available in IE 5.0
|
444
|
-
|
445
|
-
function push(anArray, anObject) {
|
446
|
-
anArray[anArray.length] = anObject;
|
447
|
-
}
|
448
|
-
function pop(anArray) {
|
449
|
-
if (anArray.length >= 1) {
|
450
|
-
delete anArray[anArray.length - 1];
|
451
|
-
anArray.length--;
|
452
|
-
}
|
453
|
-
}
|
454
|
-
|
455
|
-
function jsUnitGetParm(name)
|
456
|
-
{
|
457
|
-
if (typeof(top.jsUnitParmHash[name]) != 'undefined')
|
458
|
-
{
|
459
|
-
return top.jsUnitParmHash[name];
|
460
|
-
}
|
461
|
-
return null;
|
462
|
-
}
|
463
|
-
|
464
|
-
if (top && typeof(top.xbDEBUG) != 'undefined' && top.xbDEBUG.on && top.testManager)
|
465
|
-
{
|
466
|
-
top.xbDebugTraceObject('top.testManager.containerTestFrame', 'JSUnitException');
|
467
|
-
// asserts
|
468
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', '_displayStringForValue');
|
469
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'error');
|
470
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'argumentsIncludeComments');
|
471
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'commentArg');
|
472
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'nonCommentArg');
|
473
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', '_validateArguments');
|
474
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', '_assert');
|
475
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assert');
|
476
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assertTrue');
|
477
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assertEquals');
|
478
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assertNotEquals');
|
479
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assertNull');
|
480
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assertNotNull');
|
481
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assertUndefined');
|
482
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assertNotUndefined');
|
483
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assertNaN');
|
484
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'assertNotNaN');
|
485
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'isLoaded');
|
486
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'setUp');
|
487
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'tearDown');
|
488
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'getFunctionName');
|
489
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'getStackTrace');
|
490
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'warn');
|
491
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'inform');
|
492
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'debug');
|
493
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'setJsUnitTracer');
|
494
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'trim');
|
495
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'isBlank');
|
496
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'newOnLoadEvent');
|
497
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'push');
|
498
|
-
top.xbDebugTraceFunction('top.testManager.containerTestFrame', 'pop');
|
499
|
-
}
|
500
|
-
|
501
|
-
function newOnLoadEvent() {
|
502
|
-
isTestPageLoaded = true;
|
503
|
-
}
|
504
|
-
|
505
|
-
function jsUnitSetOnLoad(windowRef, onloadHandler)
|
506
|
-
{
|
507
|
-
var isKonqueror = navigator.userAgent.indexOf('Konqueror/') != -1 ||
|
508
|
-
navigator.userAgent.indexOf('Safari/') != -1;
|
509
|
-
|
510
|
-
if (typeof(windowRef.attachEvent) != 'undefined') {
|
511
|
-
// Internet Explorer, Opera
|
512
|
-
windowRef.attachEvent("onload", onloadHandler);
|
513
|
-
} else if (typeof(windowRef.addEventListener) != 'undefined' && !isKonqueror) {
|
514
|
-
// Mozilla, Konqueror
|
515
|
-
// exclude Konqueror due to load issues
|
516
|
-
windowRef.addEventListener("load", onloadHandler, false);
|
517
|
-
} else if (typeof(windowRef.document.addEventListener) != 'undefined' && !isKonqueror) {
|
518
|
-
// DOM 2 Events
|
519
|
-
// exclude Mozilla, Konqueror due to load issues
|
520
|
-
windowRef.document.addEventListener("load", onloadHandler, false);
|
521
|
-
} else if (typeof(windowRef.onload) != 'undefined' && windowRef.onload) {
|
522
|
-
windowRef.jsunit_original_onload = windowRef.onload;
|
523
|
-
windowRef.onload = function() {
|
524
|
-
windowRef.jsunit_original_onload();
|
525
|
-
onloadHandler();
|
526
|
-
};
|
527
|
-
} else {
|
528
|
-
// browsers that do not support windowRef.attachEvent or
|
529
|
-
// windowRef.addEventListener will override a page's own onload event
|
530
|
-
windowRef.onload = onloadHandler;
|
531
|
-
}
|
532
|
-
}
|
533
|
-
|
534
|
-
jsUnitSetOnLoad(window, newOnLoadEvent);
|