From 6b049c74ccc9ee19688bb9bbe504c300e61776dc Mon Sep 17 00:00:00 2001 From: Michał Gołębiowski Date: Wed, 21 Aug 2013 11:25:04 +0200 Subject: feat($parse): support trailing commas in object & array literals Per ECMAScript 5.1 specification trailing commas are allowed in object and array literals. All modern browsers as well as IE>8 support this syntax. This commit adds support for such syntax to Angular expressions. --- test/ng/parseSpec.js | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'test') diff --git a/test/ng/parseSpec.js b/test/ng/parseSpec.js index 466be755..38fce3f7 100644 --- a/test/ng/parseSpec.js +++ b/test/ng/parseSpec.js @@ -460,6 +460,8 @@ describe('parser', function() { expect(scope.$eval("[1, 2]").length).toEqual(2); expect(scope.$eval("[1, 2]")[0]).toEqual(1); expect(scope.$eval("[1, 2]")[1]).toEqual(2); + expect(scope.$eval("[1, 2,]")[1]).toEqual(2); + expect(scope.$eval("[1, 2,]").length).toEqual(2); }); it('should evaluate array access', function() { @@ -474,6 +476,9 @@ describe('parser', function() { expect(toJson(scope.$eval("{a:'b'}"))).toEqual('{"a":"b"}'); expect(toJson(scope.$eval("{'a':'b'}"))).toEqual('{"a":"b"}'); expect(toJson(scope.$eval("{\"a\":'b'}"))).toEqual('{"a":"b"}'); + expect(toJson(scope.$eval("{a:'b',}"))).toEqual('{"a":"b"}'); + expect(toJson(scope.$eval("{'a':'b',}"))).toEqual('{"a":"b"}'); + expect(toJson(scope.$eval("{\"a\":'b',}"))).toEqual('{"a":"b"}'); }); it('should evaluate object access', function() { -- cgit v1.2.3