aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVojta Jina2011-01-09 13:41:55 +0000
committerIgor Minar2011-01-10 10:37:37 -0800
commitaab3df7aeaf79908e8b6212288b283adb42b1ce6 (patch)
tree27040cc2bdd2e5c861dabc03aecc723a7f21f3c0
parent0a6cf70debc6440685af3f9ea96a66450e4f4ed7 (diff)
downloadangular.js-aab3df7aeaf79908e8b6212288b283adb42b1ce6.tar.bz2
Fixed filter.date, so it parses format ending with non-replaced string
Closes #159
-rw-r--r--src/filters.js12
-rw-r--r--test/FiltersSpec.js4
2 files changed, 13 insertions, 3 deletions
diff --git a/src/filters.js b/src/filters.js
index 045ad61b..7fa7926d 100644
--- a/src/filters.js
+++ b/src/filters.js
@@ -217,10 +217,16 @@ angularFilter.date = function(date, format) {
var text = date.toLocaleDateString(), fn;
if (format && isString(format)) {
text = '';
- var parts = [];
+ var parts = [], match;
while(format) {
- parts = concat(parts, DATE_FORMATS_SPLIT.exec(format), 1);
- format = parts.pop();
+ match = DATE_FORMATS_SPLIT.exec(format);
+ if (match) {
+ parts = concat(parts, match, 1);
+ format = parts.pop();
+ } else {
+ parts.push(format);
+ format = null;
+ }
}
forEach(parts, function(value){
fn = DATE_FORMATS[value];
diff --git a/test/FiltersSpec.js b/test/FiltersSpec.js
index d28cae82..7e824e0d 100644
--- a/test/FiltersSpec.js
+++ b/test/FiltersSpec.js
@@ -142,5 +142,9 @@ describe('filter', function() {
expect(filter.date(isoString)).
toEqual(angular.String.toDate(isoString).toLocaleDateString());
});
+
+ it('should parse format ending with non-replaced string', function() {
+ expect(filter.date(morning, 'yy/xxx')).toEqual('10/xxx');
+ });
});
});