Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 86c2ef8

Browse files
author
Shyam Seshadri
committed
Inject jquery into future scope, and rename outer scenario to _window, which is what it is
1 parent 21d2b43 commit 86c2ef8

File tree

5 files changed

+29
-25
lines changed

5 files changed

+29
-25
lines changed

src/scenario/DSL.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ angular.scenario.dsl.browser = {
55
this.testFrame.load(function(){
66
self.testFrame.unbind();
77
self.testWindow = self.testFrame[0].contentWindow;
8-
self.testDocument = jQuery(self.testWindow.document);
8+
self.testDocument = self.jQuery(self.testWindow.document);
99
self.$browser = self.testWindow.angular.service.$browser();
1010
self.notifyWhenNoOutstandingRequests =
1111
bind(self.$browser, self.$browser.notifyWhenNoOutstandingRequests);
@@ -53,17 +53,18 @@ angular.scenario.dsl.repeater = function(selector) {
5353
},
5454
collect: function() {
5555
return $scenario.addFuture(namePrefix + ' collect', function(done) {
56+
var self = this;
5657
var doCollect = bind(this, function() {
5758
var repeaterArray = [];
5859
this.testDocument.find(selector).each(function(index) {
59-
var element = angular.extend(_jQuery(this),
60+
var element = angular.extend(self.jQuery(this),
6061
{bindings: [],
6162
boundTo: function(name) { return this.bindings[name]; }}
6263
);
6364
element.find('*').each(function(index) {
64-
var bindName = _jQuery(this).attr('ng:bind');
65+
var bindName = self.jQuery(this).attr('ng:bind');
6566
if (bindName) {
66-
element.bindings[bindName] = _jQuery(this).text();
67+
element.bindings[bindName] = self.jQuery(this).text();
6768
}
6869
});
6970
repeaterArray[index] = element;
@@ -79,14 +80,15 @@ angular.scenario.dsl.repeater = function(selector) {
7980
angular.scenario.dsl.element = function(selector) {
8081
var nameSuffix = "element '" + selector + "'";
8182
return $scenario.addFuture('Find ' + nameSuffix, function(done) {
83+
var self = this;
8284
var element = angular.extend(this.testDocument.find(selector), {
8385
bindings: [],
8486
boundTo: function(name) { return this.bindings[name]; }
8587
});
8688
element.find('*').each(function(index) {
87-
var bindName = _jQuery(this).attr('ng:bind');
89+
var bindName = self.jQuery(this).attr('ng:bind');
8890
if (bindName) {
89-
element.bindings[bindName] = _jQuery(this).text();
91+
element.bindings[bindName] = self.jQuery(this).text();
9092
}
9193
});
9294
done(element);

src/scenario/Runner.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ angular.scenario.Runner.prototype = {
134134
},
135135
specThis = createScope({
136136
result: result,
137+
jQuery: this.jQuery,
137138
testFrame: this.testFrame,
138139
testWindow: this.testWindow
139140
}, angularService, {});

test/scenario/DSLSpec.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,16 @@ describe("DSL", function() {
55
beforeEach(function() {
66
setUpContext();
77
executeFuture = function(future, html, callback) {
8-
lastDocument =_jQuery('<div>' + html + '</div>');
8+
lastDocument = _jQuery('<div>' + html + '</div>');
99
_jQuery(document.body).append(lastDocument);
1010
var specThis = {
1111
testWindow: window,
12-
testDocument: lastDocument
12+
testDocument: lastDocument,
13+
jQuery: _jQuery
1314
};
1415
future.behavior.call(specThis, callback || noop);
1516
};
16-
Expect = scenario.expect;
17+
Expect = _window.expect;
1718
});
1819

1920
describe("input", function() {

test/scenario/RunnerSpec.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ describe('Runner', function() {
44

55
beforeEach(function() {
66
setUpContext();
7-
Describe = scenario.describe;
8-
It = scenario.it;
9-
BeforeEach = scenario.beforeEach;
10-
AfterEach = scenario.afterEach;
7+
Describe = _window.describe;
8+
It = _window.it;
9+
BeforeEach = _window.beforeEach;
10+
AfterEach = _window.afterEach;
1111
body = _jQuery('<div></div>');
1212
});
1313

@@ -101,7 +101,7 @@ describe('Runner', function() {
101101
});
102102
$scenario.run(body);
103103
expect(log).toEqual('future1;after;future2;after;');
104-
expect(scenario.$testrun.results).toEqual([
104+
expect(_window.$testrun.results).toEqual([
105105
{ name : 'describe name: it should text1',
106106
passed : false,
107107
error : 'AfterError',
@@ -186,7 +186,7 @@ describe('Runner', function() {
186186
expect(spec.result.failed).toEqual(true);
187187
expect(spec.result.finished).toEqual(true);
188188
expect(spec.result.error).toEqual("MyError");
189-
expect(scenario.$testrun.results).toEqual([{
189+
expect(_window.$testrun.results).toEqual([{
190190
name: 'spec',
191191
passed: false,
192192
error: 'MyError',
@@ -217,16 +217,16 @@ describe('Runner', function() {
217217
expect(log).toEqual('s1,s2,s3,s4,');
218218
});
219219
it('should publish done state and results as tests are run', function() {
220-
expect(scenario.$testrun.done).toBeFalsy();
221-
expect(scenario.$testrun.results).toEqual([]);
220+
expect(_window.$testrun.done).toBeFalsy();
221+
expect(_window.$testrun.results).toEqual([]);
222222
$scenario.run(body);
223-
expect(scenario.$testrun.done).toBeFalsy();
224-
expect(scenario.$testrun.results).toEqual([
223+
expect(_window.$testrun.done).toBeFalsy();
224+
expect(_window.$testrun.results).toEqual([
225225
{name: 'd1: it it1', passed: true, error: undefined, steps: ['s1']}
226226
]);
227227
next();
228-
expect(scenario.$testrun.done).toBeTruthy();
229-
expect(scenario.$testrun.results).toEqual([
228+
expect(_window.$testrun.done).toBeTruthy();
229+
expect(_window.$testrun.results).toEqual([
230230
{name: 'd1: it it1', passed: true, error: undefined, steps: ['s1']},
231231
{name: 'd1: it it2', passed: true, error: undefined, steps: ['s2', 's2.2']},
232232
{name: 'd2: it it3', passed: true, error: undefined, steps: ['s3']},

test/scenario/TestContext.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var scenario, runner, log, $scenario;
1+
var _window, runner, log, $scenario;
22

33
function logger(text) {
44
return function(done){
@@ -8,8 +8,8 @@ function logger(text) {
88
}
99

1010
function setUpContext() {
11-
scenario = {};
12-
runner = new angular.scenario.Runner(scenario, _jQuery);
13-
$scenario = scenario.$scenario;
11+
_window = {};
12+
runner = new angular.scenario.Runner(_window, _jQuery);
13+
$scenario = _window.$scenario;
1414
log = '';
1515
}

0 commit comments

Comments
 (0)