aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisko Hevery2010-10-19 16:14:16 -0700
committerMisko Hevery2010-10-19 16:14:16 -0700
commit406373b5db841bada476d290542c9c49515f18fe (patch)
tree8011fbf02d6eb443d97a46d0fa20f36ef1d81d19
parent977cb7e03e8cc81d2a1d05a723b51aa08999e10b (diff)
downloadangular.js-406373b5db841bada476d290542c9c49515f18fe.tar.bz2
fixed tests
-rw-r--r--src/scenario/Scenario.js7
-rwxr-xr-xtest.sh4
-rw-r--r--test/BinderTest.js18
-rw-r--r--test/directivesSpec.js4
-rw-r--r--test/widgetsSpec.js26
5 files changed, 30 insertions, 29 deletions
diff --git a/src/scenario/Scenario.js b/src/scenario/Scenario.js
index ba206632..842c9dd3 100644
--- a/src/scenario/Scenario.js
+++ b/src/scenario/Scenario.js
@@ -4,10 +4,10 @@
*/
// Public namespace
-angular.scenario = {};
+angular.scenario = angular.scenario || {};
// Namespace for the UI
-angular.scenario.ui = {};
+angular.scenario.ui = angular.scenario.ui || {};
/**
* Defines a new DSL statement. If your factory function returns a Future
@@ -104,7 +104,8 @@ function asyncForEach(list, iterator, done) {
function browserTrigger(element, type) {
- if (!element.nodeName) element = element[0];
+ if (element && !element.nodeName) element = element[0];
+ if (!element) return;
if (!type) {
type = {
'text': 'change',
diff --git a/test.sh b/test.sh
index a43c1ddc..19a74d4b 100755
--- a/test.sh
+++ b/test.sh
@@ -3,5 +3,5 @@ if [[ $tests = "" ]]; then
tests="all"
fi
-#java -jar lib/jstestdriver/JsTestDriver.jar --tests "$tests"
-java -jar lib/jstestdriver/JsTestDriver.jar --tests "$tests" --config jsTestDriver-jquery.conf
+java -jar lib/jstestdriver/JsTestDriver.jar --tests "$tests"
+#java -jar lib/jstestdriver/JsTestDriver.jar --tests "$tests" --config jsTestDriver-jquery.conf
diff --git a/test/BinderTest.js b/test/BinderTest.js
index daaaeffe..06f0a449 100644
--- a/test/BinderTest.js
+++ b/test/BinderTest.js
@@ -155,7 +155,7 @@ BinderTest.prototype.testInputTypeButtonActionExecutesInScope = function(){
c.scope.$set("person.save", function(){
savedCalled = true;
});
- c.node.trigger('click');
+ browserTrigger(c.node, 'click');
assertTrue(savedCalled);
};
@@ -166,7 +166,7 @@ BinderTest.prototype.testInputTypeButtonActionExecutesInScope2 = function(){
log += 'click;';
});
expect(log).toEqual('');
- c.node.trigger('click');
+ browserTrigger(c.node, 'click');
expect(log).toEqual('click;');
};
@@ -176,7 +176,7 @@ BinderTest.prototype.testButtonElementActionExecutesInScope = function(){
c.scope.$set("person.save", function(){
savedCalled = true;
});
- c.node.trigger('click');
+ browserTrigger(c.node, 'click');
assertTrue(savedCalled);
};
@@ -247,7 +247,7 @@ BinderTest.prototype.testRepeaterAdd = function(){
assertEquals('b', second.val());
first.val('ABC');
- first.trigger('keyup');
+ browserTrigger(first, 'keyup');
assertEquals(c.scope.items[0].x, 'ABC');
};
@@ -441,7 +441,7 @@ BinderTest.prototype.testActionOnAHrefThrowsError = function(){
throw {a:'abc', b:2};
};
var input = c.node;
- input.trigger('click');
+ browserTrigger(input, 'click');
var error = fromJson(input.attr('ng-exception'));
assertEquals("abc", error.a);
assertEquals(2, error.b);
@@ -449,7 +449,7 @@ BinderTest.prototype.testActionOnAHrefThrowsError = function(){
// TODO: I think that exception should never get cleared so this portion of test makes no sense
//c.scope.action = noop;
- //input.trigger('click');
+ //browserTrigger(input, 'click');
//dump(input.attr('ng-error'));
//assertFalse('error class should be cleared', input.hasClass('ng-exception'));
};
@@ -575,10 +575,10 @@ BinderTest.prototype.testItShouldDisplayErrorWhenActionIsSyntacticlyIncorect = f
var first = jqLite(c.node[0].childNodes[0]);
var second = jqLite(c.node[0].childNodes[1]);
- first.trigger('click');
+ browserTrigger(first, 'click');
assertEquals("ABC", c.scope.greeting);
- second.trigger('click');
+ browserTrigger(second, 'click');
assertTrue(second.hasClass("ng-exception"));
};
@@ -666,7 +666,7 @@ BinderTest.prototype.testItShouldUseFormaterForText = function() {
assertEquals(['a','b'], x.scope.$get('a'));
var input = x.node;
input[0].value = ' x,,yz';
- input.trigger('change');
+ browserTrigger(input, 'change');
assertEquals(['x','yz'], x.scope.$get('a'));
x.scope.$set('a', [1 ,2, 3]);
x.scope.$eval();
diff --git a/test/directivesSpec.js b/test/directivesSpec.js
index e65973dc..86540386 100644
--- a/test/directivesSpec.js
+++ b/test/directivesSpec.js
@@ -177,7 +177,7 @@ describe("directives", function(){
scope.$eval();
expect(scope.$get('clicked')).toBeFalsy();
- element.trigger('click');
+ browserTrigger(element, 'click');
expect(scope.$get('clicked')).toEqual(true);
});
@@ -189,7 +189,7 @@ describe("directives", function(){
var innerDiv = jqLite(element.children()[0]);
- innerDiv.trigger('click');
+ browserTrigger(innerDiv, 'click');
expect(scope.$get('outer')).not.toBeDefined();
expect(scope.$get('inner')).toEqual(true);
});
diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js
index cc254eff..c0cdd565 100644
--- a/test/widgetsSpec.js
+++ b/test/widgetsSpec.js
@@ -32,12 +32,12 @@ describe("widget", function(){
expect(element.val()).toEqual("Adam");
element.val('Shyam');
- element.trigger('keyup');
+ browserTrigger(element, 'keyup');
expect(scope.$get('name')).toEqual('Shyam');
expect(scope.$get('count')).toEqual(1);
element.val('Kai');
- element.trigger('change');
+ browserTrigger(element, 'change');
expect(scope.$get('name')).toEqual('Kai');
expect(scope.$get('count')).toEqual(2);
});
@@ -53,7 +53,7 @@ describe("widget", function(){
expect(element.val()).toEqual("x, y, z");
element.val('1, 2, 3');
- element.trigger('keyup');
+ browserTrigger(element, 'keyup');
expect(scope.$get('list')).toEqual(['1', '2', '3']);
});
@@ -70,7 +70,7 @@ describe("widget", function(){
scope.age = 123;
scope.$eval();
scope.$element.val('123X');
- scope.$element.trigger('change');
+ browserTrigger(scope.$element, 'change');
expect(scope.$element.val()).toEqual('123X');
expect(scope.age).toEqual(123);
expect(scope.$element).toBeInvalid();
@@ -87,22 +87,22 @@ describe("widget", function(){
compile('<input type="text" name="list" ng:format="list" value="a"/>');
scope.$element.val('a ');
- scope.$element.trigger('change');
+ browserTrigger(scope.$element, 'change');
expect(scope.$element.val()).toEqual('a ');
expect(scope.list).toEqual(['a']);
scope.$element.val('a ,');
- scope.$element.trigger('change');
+ browserTrigger(scope.$element, 'change');
expect(scope.$element.val()).toEqual('a ,');
expect(scope.list).toEqual(['a']);
scope.$element.val('a , ');
- scope.$element.trigger('change');
+ browserTrigger(scope.$element, 'change');
expect(scope.$element.val()).toEqual('a , ');
expect(scope.list).toEqual(['a']);
scope.$element.val('a , b');
- scope.$element.trigger('change');
+ browserTrigger(scope.$element, 'change');
expect(scope.$element.val()).toEqual('a , b');
expect(scope.list).toEqual(['a', 'b']);
});
@@ -175,7 +175,7 @@ describe("widget", function(){
expect(element.attr('ng-validation-error')).toBeFalsy();
element.val('x');
- element.trigger('keyup');
+ browserTrigger(element, 'keyup');
expect(element.hasClass('ng-validation-error')).toBeTruthy();
expect(element.attr('ng-validation-error')).toEqual('Not a number');
});
@@ -229,7 +229,7 @@ describe("widget", function(){
expect(element.attr('ng-validation-error')).toBeFalsy();
element.val('');
- element.trigger('keyup');
+ browserTrigger(element, 'keyup');
expect(element.hasClass('ng-validation-error')).toBeTruthy();
expect(element.attr('ng-validation-error')).toEqual('Required');
});
@@ -254,7 +254,7 @@ describe("widget", function(){
expect(element.attr('ng-validation-error')).toEqual('Required');
element.val('abc');
- element.trigger('keyup');
+ browserTrigger(element, 'keyup');
expect(element.hasClass('ng-validation-error')).toBeFalsy();
expect(element.attr('ng-validation-error')).toBeFalsy();
});
@@ -268,11 +268,11 @@ describe("widget", function(){
expect(element.val()).toEqual("Adam");
element.val('Shyam');
- element.trigger('keyup');
+ browserTrigger(element, 'keyup');
expect(scope.$get('name')).toEqual('Shyam');
element.val('Kai');
- element.trigger('change');
+ browserTrigger(element, 'change');
expect(scope.$get('name')).toEqual('Kai');
});