aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisko Hevery2011-11-15 11:19:37 -0800
committerMisko Hevery2011-11-15 11:47:23 -0800
commitaba9bb2a241f832d1b09d75e05973a985b817cc1 (patch)
tree6ddb913280963ce1737d8811d786f82083436344
parent5857c44e0cc52309251c932f9c530958dfdb616c (diff)
downloadangular.js-aba9bb2a241f832d1b09d75e05973a985b817cc1.tar.bz2
fix(input): treat all not number model as blank
-rw-r--r--src/widget/input.js6
-rw-r--r--test/widget/inputSpec.js12
2 files changed, 15 insertions, 3 deletions
diff --git a/src/widget/input.js b/src/widget/input.js
index fb4cc0d4..3f25f09f 100644
--- a/src/widget/input.js
+++ b/src/widget/input.js
@@ -594,9 +594,9 @@ function numericRegexpInputType(regexp, error) {
};
widget.$parseModel = function() {
- if (isNumber(widget.$modelValue)) {
- widget.$viewValue = '' + widget.$modelValue;
- }
+ widget.$viewValue = isNumber(widget.$modelValue)
+ ? '' + widget.$modelValue
+ : '';
};
}];
}
diff --git a/test/widget/inputSpec.js b/test/widget/inputSpec.js
index 085cb2ea..dfbc506a 100644
--- a/test/widget/inputSpec.js
+++ b/test/widget/inputSpec.js
@@ -449,6 +449,18 @@ describe('widget: input', function() {
});
});
+ describe('number', function(){
+ it('should clear number on non-number', inject(function($compile, $rootScope){
+ $rootScope.value = 123;
+ var element = $compile('<input type="number" ng:model="value" >')($rootScope);
+ $rootScope.$digest();
+ expect(element.val()).toEqual('123');
+ $rootScope.value = undefined;
+ $rootScope.$digest();
+ expect(element.val()).toEqual('');
+ }));
+ });
+
it('should ignore text widget which have no name', function() {
compile('<input type="text"/>');