Skip to content

Commit 406373b

Browse files
committed
fixed tests
1 parent 977cb7e commit 406373b

5 files changed

Lines changed: 30 additions & 29 deletions

File tree

src/scenario/Scenario.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
*/
55

66
// Public namespace
7-
angular.scenario = {};
7+
angular.scenario = angular.scenario || {};
88

99
// Namespace for the UI
10-
angular.scenario.ui = {};
10+
angular.scenario.ui = angular.scenario.ui || {};
1111

1212
/**
1313
* Defines a new DSL statement. If your factory function returns a Future
@@ -104,7 +104,8 @@ function asyncForEach(list, iterator, done) {
104104

105105

106106
function browserTrigger(element, type) {
107-
if (!element.nodeName) element = element[0];
107+
if (element && !element.nodeName) element = element[0];
108+
if (!element) return;
108109
if (!type) {
109110
type = {
110111
'text': 'change',

test.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ if [[ $tests = "" ]]; then
33
tests="all"
44
fi
55

6-
#java -jar lib/jstestdriver/JsTestDriver.jar --tests "$tests"
7-
java -jar lib/jstestdriver/JsTestDriver.jar --tests "$tests" --config jsTestDriver-jquery.conf
6+
java -jar lib/jstestdriver/JsTestDriver.jar --tests "$tests"
7+
#java -jar lib/jstestdriver/JsTestDriver.jar --tests "$tests" --config jsTestDriver-jquery.conf

test/BinderTest.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ BinderTest.prototype.testInputTypeButtonActionExecutesInScope = function(){
155155
c.scope.$set("person.save", function(){
156156
savedCalled = true;
157157
});
158-
c.node.trigger('click');
158+
browserTrigger(c.node, 'click');
159159
assertTrue(savedCalled);
160160
};
161161

@@ -166,7 +166,7 @@ BinderTest.prototype.testInputTypeButtonActionExecutesInScope2 = function(){
166166
log += 'click;';
167167
});
168168
expect(log).toEqual('');
169-
c.node.trigger('click');
169+
browserTrigger(c.node, 'click');
170170
expect(log).toEqual('click;');
171171
};
172172

@@ -176,7 +176,7 @@ BinderTest.prototype.testButtonElementActionExecutesInScope = function(){
176176
c.scope.$set("person.save", function(){
177177
savedCalled = true;
178178
});
179-
c.node.trigger('click');
179+
browserTrigger(c.node, 'click');
180180
assertTrue(savedCalled);
181181
};
182182

@@ -247,7 +247,7 @@ BinderTest.prototype.testRepeaterAdd = function(){
247247
assertEquals('b', second.val());
248248

249249
first.val('ABC');
250-
first.trigger('keyup');
250+
browserTrigger(first, 'keyup');
251251
assertEquals(c.scope.items[0].x, 'ABC');
252252
};
253253

@@ -441,15 +441,15 @@ BinderTest.prototype.testActionOnAHrefThrowsError = function(){
441441
throw {a:'abc', b:2};
442442
};
443443
var input = c.node;
444-
input.trigger('click');
444+
browserTrigger(input, 'click');
445445
var error = fromJson(input.attr('ng-exception'));
446446
assertEquals("abc", error.a);
447447
assertEquals(2, error.b);
448448
assertTrue("should have an error class", input.hasClass('ng-exception'));
449449

450450
// TODO: I think that exception should never get cleared so this portion of test makes no sense
451451
//c.scope.action = noop;
452-
//input.trigger('click');
452+
//browserTrigger(input, 'click');
453453
//dump(input.attr('ng-error'));
454454
//assertFalse('error class should be cleared', input.hasClass('ng-exception'));
455455
};
@@ -575,10 +575,10 @@ BinderTest.prototype.testItShouldDisplayErrorWhenActionIsSyntacticlyIncorect = f
575575
var first = jqLite(c.node[0].childNodes[0]);
576576
var second = jqLite(c.node[0].childNodes[1]);
577577

578-
first.trigger('click');
578+
browserTrigger(first, 'click');
579579
assertEquals("ABC", c.scope.greeting);
580580

581-
second.trigger('click');
581+
browserTrigger(second, 'click');
582582
assertTrue(second.hasClass("ng-exception"));
583583
};
584584

@@ -666,7 +666,7 @@ BinderTest.prototype.testItShouldUseFormaterForText = function() {
666666
assertEquals(['a','b'], x.scope.$get('a'));
667667
var input = x.node;
668668
input[0].value = ' x,,yz';
669-
input.trigger('change');
669+
browserTrigger(input, 'change');
670670
assertEquals(['x','yz'], x.scope.$get('a'));
671671
x.scope.$set('a', [1 ,2, 3]);
672672
x.scope.$eval();

test/directivesSpec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ describe("directives", function(){
177177
scope.$eval();
178178
expect(scope.$get('clicked')).toBeFalsy();
179179

180-
element.trigger('click');
180+
browserTrigger(element, 'click');
181181
expect(scope.$get('clicked')).toEqual(true);
182182
});
183183

@@ -189,7 +189,7 @@ describe("directives", function(){
189189

190190
var innerDiv = jqLite(element.children()[0]);
191191

192-
innerDiv.trigger('click');
192+
browserTrigger(innerDiv, 'click');
193193
expect(scope.$get('outer')).not.toBeDefined();
194194
expect(scope.$get('inner')).toEqual(true);
195195
});

test/widgetsSpec.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ describe("widget", function(){
3232
expect(element.val()).toEqual("Adam");
3333

3434
element.val('Shyam');
35-
element.trigger('keyup');
35+
browserTrigger(element, 'keyup');
3636
expect(scope.$get('name')).toEqual('Shyam');
3737
expect(scope.$get('count')).toEqual(1);
3838

3939
element.val('Kai');
40-
element.trigger('change');
40+
browserTrigger(element, 'change');
4141
expect(scope.$get('name')).toEqual('Kai');
4242
expect(scope.$get('count')).toEqual(2);
4343
});
@@ -53,7 +53,7 @@ describe("widget", function(){
5353
expect(element.val()).toEqual("x, y, z");
5454

5555
element.val('1, 2, 3');
56-
element.trigger('keyup');
56+
browserTrigger(element, 'keyup');
5757
expect(scope.$get('list')).toEqual(['1', '2', '3']);
5858
});
5959

@@ -70,7 +70,7 @@ describe("widget", function(){
7070
scope.age = 123;
7171
scope.$eval();
7272
scope.$element.val('123X');
73-
scope.$element.trigger('change');
73+
browserTrigger(scope.$element, 'change');
7474
expect(scope.$element.val()).toEqual('123X');
7575
expect(scope.age).toEqual(123);
7676
expect(scope.$element).toBeInvalid();
@@ -87,22 +87,22 @@ describe("widget", function(){
8787
compile('<input type="text" name="list" ng:format="list" value="a"/>');
8888

8989
scope.$element.val('a ');
90-
scope.$element.trigger('change');
90+
browserTrigger(scope.$element, 'change');
9191
expect(scope.$element.val()).toEqual('a ');
9292
expect(scope.list).toEqual(['a']);
9393

9494
scope.$element.val('a ,');
95-
scope.$element.trigger('change');
95+
browserTrigger(scope.$element, 'change');
9696
expect(scope.$element.val()).toEqual('a ,');
9797
expect(scope.list).toEqual(['a']);
9898

9999
scope.$element.val('a , ');
100-
scope.$element.trigger('change');
100+
browserTrigger(scope.$element, 'change');
101101
expect(scope.$element.val()).toEqual('a , ');
102102
expect(scope.list).toEqual(['a']);
103103

104104
scope.$element.val('a , b');
105-
scope.$element.trigger('change');
105+
browserTrigger(scope.$element, 'change');
106106
expect(scope.$element.val()).toEqual('a , b');
107107
expect(scope.list).toEqual(['a', 'b']);
108108
});
@@ -175,7 +175,7 @@ describe("widget", function(){
175175
expect(element.attr('ng-validation-error')).toBeFalsy();
176176

177177
element.val('x');
178-
element.trigger('keyup');
178+
browserTrigger(element, 'keyup');
179179
expect(element.hasClass('ng-validation-error')).toBeTruthy();
180180
expect(element.attr('ng-validation-error')).toEqual('Not a number');
181181
});
@@ -229,7 +229,7 @@ describe("widget", function(){
229229
expect(element.attr('ng-validation-error')).toBeFalsy();
230230

231231
element.val('');
232-
element.trigger('keyup');
232+
browserTrigger(element, 'keyup');
233233
expect(element.hasClass('ng-validation-error')).toBeTruthy();
234234
expect(element.attr('ng-validation-error')).toEqual('Required');
235235
});
@@ -254,7 +254,7 @@ describe("widget", function(){
254254
expect(element.attr('ng-validation-error')).toEqual('Required');
255255

256256
element.val('abc');
257-
element.trigger('keyup');
257+
browserTrigger(element, 'keyup');
258258
expect(element.hasClass('ng-validation-error')).toBeFalsy();
259259
expect(element.attr('ng-validation-error')).toBeFalsy();
260260
});
@@ -268,11 +268,11 @@ describe("widget", function(){
268268
expect(element.val()).toEqual("Adam");
269269

270270
element.val('Shyam');
271-
element.trigger('keyup');
271+
browserTrigger(element, 'keyup');
272272
expect(scope.$get('name')).toEqual('Shyam');
273273

274274
element.val('Kai');
275-
element.trigger('change');
275+
browserTrigger(element, 'change');
276276
expect(scope.$get('name')).toEqual('Kai');
277277
});
278278

0 commit comments

Comments
 (0)