angular.js/test/ng
Igor Minar 5dc35b527b fix($parse): deprecate promise unwrapping and make it an opt-in
This commit disables promise unwrapping and adds
$parseProvider.unwrapPromises() getter/setter api that allows developers
to turn the feature back on if needed. Promise unwrapping support will
be removed from Angular in the future and this setting only allows for
enabling it during transitional period.

If the unwrapping is enabled, Angular will log a warning about each
expression that unwraps a promise (to reduce the noise, each expression
is logged only onces). To disable this logging use
`$parseProvider.logPromiseWarnings(false)`.

Previously promises found anywhere in the expression during expression
evaluation would evaluate to undefined while unresolved and to the
fulfillment value if fulfilled.

This is a feature that didn't prove to be wildly useful or popular,
primarily because of the dichotomy between data access in templates
(accessed as raw values) and controller code (accessed as promises).

In most code we ended up resolving promises manually in controllers
or automatically via routing and unifying the model access in this way.

Other downsides of automatic promise unwrapping:

- when building components it's often desirable to receive the
  raw promises
- adds complexity and slows down expression evaluation
- makes expression code pre-generation unattractive due to the
  amount of code that needs to be generated
- makes IDE auto-completion and tool support hard
- adds too much magic

BREAKING CHANGE: $parse and templates in general will no longer
automatically unwrap promises. This feature has been deprecated and
if absolutely needed, it can be reenabled during transitional period
via `$parseProvider.unwrapPromises(true)` api.

Closes #4158
Closes #4270
2013-10-09 15:15:43 -07:00
..
directive fix(input): false is no longer an empty value by default 2013-10-07 16:47:51 -07:00
filter test(filters): fix timezone-dependent test 2013-10-09 10:18:51 -07:00
anchorScrollSpec.js fix($sniffer): report history false on Android < 4 2012-05-14 15:12:51 -07:00
animateSpec.js fix(jqLite): use get/setAttribute so that jqLite works on SVG nodes 2013-09-27 12:38:27 -07:00
browserSpecs.js fix($location): prevent infinite digest error in IE7 2013-10-02 15:33:31 -07:00
cacheFactorySpec.js feat(minerr): log minerr doc url in development 2013-08-15 13:23:18 -07:00
compileSpec.js fix(*): protect calls to hasOwnProperty in public API 2013-10-07 09:01:13 -07:00
controllerSpec.js fix(*): protect calls to hasOwnProperty in public API 2013-10-07 09:01:13 -07:00
documentSpec.js chore(module): move files around in preparation for more modules 2012-03-28 11:16:35 -07:00
exceptionHandlerSpec.js chore(module): move files around in preparation for more modules 2012-03-28 11:16:35 -07:00
filterSpec.js feat(filter): allow map of filters to be registered 2013-10-01 10:26:36 +01:00
httpBackendSpec.js fix($httpBackend): set headers with falsy values 2013-10-01 14:02:00 -07:00
httpSpec.js fix($http): allow empty responses to be cached 2013-09-02 11:47:51 +02:00
interpolateSpec.js feat(minerr): log minerr doc url in development 2013-08-15 13:23:18 -07:00
intervalSpec.js feat($interval): add a service wrapping setInterval 2013-10-07 13:45:40 -07:00
localeSpec.js chore(module): move files around in preparation for more modules 2012-03-28 11:16:35 -07:00
locationSpec.js feat(minerr): log minerr doc url in development 2013-08-15 13:23:18 -07:00
logSpec.js fix(log): prevent logging undefined for $log in IE 2013-09-27 16:44:21 -07:00
parseSpec.js fix($parse): deprecate promise unwrapping and make it an opt-in 2013-10-09 15:15:43 -07:00
qSpec.js style($qSpec): add semi-colons 2013-10-02 14:12:35 +01:00
rootElementSpec.js feat($rootElement): added application root element 2012-06-02 14:50:58 -07:00
rootScopeSpec.js fix(rootScope): make stopPropagation only stop its own event 2013-10-05 22:45:43 +01:00
sceSpecs.js test($sce): ie8 fix for entire file 2013-10-02 12:06:27 -07:00
snifferSpec.js fix(core): parse IE11 UA string correctly 2013-08-29 16:07:49 -07:00
timeoutSpec.js feat($interval): add a service wrapping setInterval 2013-10-07 13:45:40 -07:00
urlUtilsSpec.js feat($sce): new $sce service for Strict Contextual Escaping. 2013-07-25 13:00:35 -07:00
windowSpec.js chore(module): move files around in preparation for more modules 2012-03-28 11:16:35 -07:00