aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisko Hevery2011-05-23 14:17:55 -0700
committerVojta Jina2011-06-15 01:14:22 +0200
commite83465c362c53ac7451183a775456f3112262f6e (patch)
tree5d69e91e2e300472ea37816100437754f577be49
parentf370be85cb680a7cac7a23999a865b9c9e731238 (diff)
downloadangular.js-e83465c362c53ac7451183a775456f3112262f6e.tar.bz2
Fix scenario runner on IE7, IE8
* add ng:disabled, ng:checked, ng:multiple, ng:readonly, ng:selected * fetch fixed cookbook/advancedform (use ng:disabled) * fire keydown instead of change on input * remove frame when test finishes
-rw-r--r--docs/content/cookbook/advancedform.ngdoc4
-rw-r--r--src/markups.js6
-rw-r--r--src/scenario/Application.js1
-rw-r--r--src/scenario/dsl.js2
4 files changed, 9 insertions, 4 deletions
diff --git a/docs/content/cookbook/advancedform.ngdoc b/docs/content/cookbook/advancedform.ngdoc
index b376cbee..747e8891 100644
--- a/docs/content/cookbook/advancedform.ngdoc
+++ b/docs/content/cookbook/advancedform.ngdoc
@@ -71,8 +71,8 @@ ng:validate="regexp:zip"/><br/><br/>
<input type="text" name="contact.value" ng:required/>
[ <a href="" ng:click="form.contacts.$remove(contact)">X</a> ]
</div>
- <button ng:click="cancel()" disabled="{{master.$equals(form)}}">Cancel</button>
- <button ng:click="save()" disabled="{{$invalidWidgets.visible() ||
+ <button ng:click="cancel()" ng:disabled="{{master.$equals(form)}}">Cancel</button>
+ <button ng:click="save()" ng:disabled="{{$invalidWidgets.visible() ||
master.$equals(form)}}">Save</button>
diff --git a/src/markups.js b/src/markups.js
index 5e240a92..7edde728 100644
--- a/src/markups.js
+++ b/src/markups.js
@@ -236,7 +236,11 @@ angularTextMarkup('option', function(text, textNode, parentElement){
*/
var NG_BIND_ATTR = 'ng:bind-attr';
-var SPECIAL_ATTRS = {'ng:src': 'src', 'ng:href': 'href'};
+var SPECIAL_ATTRS = {};
+forEach('src,href,checked,disabled,multiple,readonly,selected'.split(','), function(name) {
+ SPECIAL_ATTRS['ng:' + name] = name;
+});
+
angularAttrMarkup('{{}}', function(value, name, element){
// don't process existing attribute markup
if (angularDirective(name) || angularDirective("@" + name)) return;
diff --git a/src/scenario/Application.js b/src/scenario/Application.js
index b2c372de..c94581e2 100644
--- a/src/scenario/Application.js
+++ b/src/scenario/Application.js
@@ -58,6 +58,7 @@ angular.scenario.Application.prototype.navigateTo = function(url, loadFn, errorF
this.executeAction(loadFn);
} else {
frame.css('display', 'none').attr('src', 'about:blank');
+ frame.remove();
this.context.find('#test-frames').append('<iframe>');
frame = this.getFrame_();
frame.load(function() {
diff --git a/src/scenario/dsl.js b/src/scenario/dsl.js
index e9d68f64..60b05cd6 100644
--- a/src/scenario/dsl.js
+++ b/src/scenario/dsl.js
@@ -180,7 +180,7 @@ angular.scenario.dsl('input', function() {
return this.addFutureAction("input '" + this.name + "' enter '" + value + "'", function($window, $document, done) {
var input = $document.elements(':input[name="$1"]', this.name);
input.val(value);
- input.trigger('change');
+ input.trigger('keydown');
done();
});
};