Skip to content

Commit 818cf71

Browse files
committed
synced galejs scripts
1 parent 2ba1e8e commit 818cf71

2 files changed

Lines changed: 110 additions & 22 deletions

File tree

src/main/resources/js/GalenCore.js

Lines changed: 98 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,41 @@
1515
* ******************************************************************************/
1616

1717
var GalenCore = {
18+
settings: {
19+
parameterization: {
20+
stackBackwards: false
21+
}
22+
},
23+
futureData: {
24+
stack: [],
25+
push: function (name, value) {
26+
this.stack.push({
27+
name: name,
28+
value: value
29+
});
30+
},
31+
pop: function () {
32+
if (this.stack.length > 0) {
33+
this.stack.pop();
34+
}
35+
},
36+
fetchAll: function () {
37+
var data = {};
38+
for (var i = 0; i < this.stack.length; i++) {
39+
var name = this.stack[i].name;
40+
var value = this.stack[i].value;
41+
42+
43+
if (data[name] == null || data[name] == undefined) {
44+
data[name] = [value];
45+
}
46+
else {
47+
data[name].push(value);
48+
}
49+
}
50+
return data;
51+
}
52+
},
1853
parametersStack: {
1954
stack: [],
2055
add: function (parameters) {
@@ -30,6 +65,25 @@ var GalenCore = {
3065
return this.stack[this.stack.length - 1];
3166
}
3267
else return null;
68+
},
69+
fetchAll: function () {
70+
var args = [];
71+
72+
if (GalenCore.settings.parameterization.stackBackwards) {
73+
for (var i = this.stack.length - 1; i >= 0; i--) {
74+
for (var j = 0; j < this.stack[i].length; j++) {
75+
args.push(this.stack[i][j]);
76+
}
77+
}
78+
}
79+
else {
80+
for (var i = 0; i < this.stack.length; i++) {
81+
for (var j = 0; j < this.stack[i].length; j++) {
82+
args.push(this.stack[i][j]);
83+
}
84+
}
85+
}
86+
return args;
3387
}
3488
},
3589
processVariable: function (varName) {
@@ -101,7 +155,8 @@ function test(name, callback) {
101155
var aTest = {
102156
testName: GalenCore.processTestName(name),
103157
callbacks: callbacks,
104-
arguments: GalenCore.parametersStack.last(),
158+
arguments: GalenCore.parametersStack.fetchAll(),
159+
data: GalenCore.futureData.fetchAll(),
105160
on: function (arguments, callback) {
106161
if (Array.isArray(arguments)){
107162
this.arguments = arguments;
@@ -133,7 +188,7 @@ function test(name, callback) {
133188
this.listener = listener || null;
134189
if (this.callbacks != null) {
135190
for (var i = 0; i < this.callbacks.length; i++) {
136-
invokeFunc(this.arguments, this.callbacks[i]);
191+
invokeFunc(this, this.arguments, this.callbacks[i]);
137192
}
138193
}
139194
}
@@ -147,7 +202,7 @@ function test(name, callback) {
147202
function parameterizeByArray(rows, callback) {
148203
for (var i = 0; i<rows.length; i++) {
149204
GalenCore.parametersStack.add(rows[i]);
150-
invokeFunc(rows[i], callback);
205+
invokeFunc(this, rows[i], callback);
151206
GalenCore.parametersStack.pop();
152207
}
153208
};
@@ -163,29 +218,29 @@ function parameterizeByMap(map, callback) {
163218
}
164219
}
165220

166-
function invokeFunc(args, callback) {
221+
function invokeFunc(object, args, callback) {
167222
if (args == undefined || args == null) {
168-
return callback();
223+
return callback.call(object);
169224
}
170225

171226
switch(args.length) {
172-
case 0: return callback();
173-
case 1: return callback(args[0]);
174-
case 2: return callback(args[0], args[1]);
175-
case 3: return callback(args[0], args[1], args[2]);
176-
case 4: return callback(args[0], args[1], args[2], args[3]);
177-
case 5: return callback(args[0], args[1], args[2], args[3], args[4]);
178-
case 6: return callback(args[0], args[1], args[2], args[3], args[4], args[5]);
179-
case 7: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
180-
case 8: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
181-
case 9: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]);
182-
case 10: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]);
183-
case 11: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10]);
184-
case 12: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11]);
185-
case 13: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12]);
186-
case 14: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13]);
187-
case 15: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14]);
188-
case 16: return callback(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14], args[15]);
227+
case 0: return callback.call(object);
228+
case 1: return callback.call(object, args[0]);
229+
case 2: return callback.call(object, args[0], args[1]);
230+
case 3: return callback.call(object, args[0], args[1], args[2]);
231+
case 4: return callback.call(object, args[0], args[1], args[2], args[3]);
232+
case 5: return callback.call(object, args[0], args[1], args[2], args[3], args[4]);
233+
case 6: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5]);
234+
case 7: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
235+
case 8: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
236+
case 9: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]);
237+
case 10: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]);
238+
case 11: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10]);
239+
case 12: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11]);
240+
case 13: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12]);
241+
case 14: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13]);
242+
case 15: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14]);
243+
case 16: return callback.call(object, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9], args[10], args[11], args[12], args[13], args[14], args[15]);
189244
}
190245
}
191246

@@ -198,6 +253,15 @@ function forAll (data, callback) {
198253
}
199254
};
200255

256+
function forOnly(data, callback) {
257+
if (Array.isArray(data)) {
258+
return parameterizeByArray([data], callback);
259+
}
260+
else {
261+
return parameterizeByArray([[data]], callback);
262+
}
263+
}
264+
201265
function beforeTestSuite(callback) {
202266
_galenCore.addBeforeTestSuiteEvent(new TestSuiteEvent({
203267
callback: {
@@ -254,14 +318,26 @@ function retry(times, callback) {
254318
else return callback();
255319
}
256320

321+
function createTestDataProvider(varName) {
322+
return function (varValue, callback) {
323+
324+
GalenCore.futureData.push(varName, varValue);
325+
callback();
326+
GalenCore.futureData.pop();
327+
};
328+
}
329+
257330

258331

259332
(function (exports) {
260333
exports.test = test;
261334
exports.forAll = forAll;
335+
exports.forOnly = forOnly;
262336
exports.beforeTestSuite = beforeTestSuite;
263337
exports.afterTestSuite = afterTestSuite;
264338
exports.beforeTest = beforeTest;
265339
exports.afterTest = afterTest;
266340
exports.retry = retry;
341+
exports.createTestDataProvider = createTestDataProvider;
342+
exports.GalenCore = GalenCore;
267343
})(this);

src/main/resources/js/GalenPages.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,18 @@ var GalenPages = {
6666
this.driver = driver;
6767
this.waitTimeout = "10s";
6868
this.waitPeriod = "1s";
69+
this._report = function (name) {
70+
try {
71+
GalenPages.report(name);
72+
}
73+
catch (err) {
74+
75+
}
76+
},
77+
this.open = function (url) {
78+
this._report("Open " + url);
79+
this.driver.get(url);
80+
},
6981
this.findChild = function (locator) {
7082
if (typeof locator == "string") {
7183
locator = GalenPages.parseLocator(locator);

0 commit comments

Comments
 (0)