aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVojta Jina2011-11-04 18:02:47 -0700
committerIgor Minar2011-11-30 11:17:25 -0500
commit92995bbce9877673f2642addd22fdf08d47bd39e (patch)
treeb9cfb5d3508a0dfb58d6e91c2a601029bcc69517
parentb9707d910e8dd354a2f684588c1e7d83c5f88b8a (diff)
downloadangular.js-92995bbce9877673f2642addd22fdf08d47bd39e.tar.bz2
fix($http): default json transformation should not crash on angular template
The way we determine whether it's json is lame anyway. We need to change that. We should probably check the content type header...
-rw-r--r--src/service/http.js2
-rw-r--r--test/service/httpSpec.js10
2 files changed, 11 insertions, 1 deletions
diff --git a/src/service/http.js b/src/service/http.js
index 049dbd50..6efe7474 100644
--- a/src/service/http.js
+++ b/src/service/http.js
@@ -61,7 +61,7 @@ function transform(data, fns, param) {
* @description
*/
function $HttpProvider() {
- var JSON_START = /^\s*[\[\{]/,
+ var JSON_START = /^\s*(\[|\{[^\{])/,
JSON_END = /[\}\]]\s*$/,
PROTECTION_PREFIX = /^\)\]\}',?\n/;
diff --git a/test/service/httpSpec.js b/test/service/httpSpec.js
index 83a6e860..210020f4 100644
--- a/test/service/httpSpec.js
+++ b/test/service/httpSpec.js
@@ -758,6 +758,16 @@ describe('$http', function() {
expect(callback).toHaveBeenCalledOnce();
expect(callback.mostRecentCall.args[0]).toEqual([1, 'abc', {foo:'bar'}]);
});
+
+
+ it('should not deserialize tpl beginning with ng expression', function() {
+ $httpBackend.expect('GET', '/url').respond('{{some}}');
+ $http.get('/url').on('200', callback);
+ $httpBackend.flush();
+
+ expect(callback).toHaveBeenCalledOnce();
+ expect(callback.mostRecentCall.args[0]).toEqual('{{some}}');
+ });
});