angular.js/test/ng
Igor Minar 31f190d4d5 fix($compile): fix (reverse) directive postLink fn execution order
previously the compile/link fns executed in this order controlled via priority:

- CompilePriorityHigh, CompilePriorityMedium, CompilePriorityLow
- PreLinkPriorityHigh, PreLinkPriorityMedium, PreLinkPriorityLow
- link children
- PostLinkPriorityHigh, PostLinkPriorityMedium, PostLinkPriorityLow

This was changed to:

- CompilePriorityHigh, CompilePriorityMedium, CompilePriorityLow
- PreLinkPriorityHigh, PreLinkPriorityMedium, PreLinkPriorityLow
- link children
- PostLinkPriorityLow, PostLinkPriorityMedium , PostLinkPriorityHigh

Using this order the child transclusion directive that gets replaced
onto the current element get executed correctly (see issue #3558),
and more generally, the order of execution of post linking function
makes more sense. The incorrect order was an oversight that has
gone unnoticed for many suns and moons.

(FYI: postLink functions are the default linking functions)

BREAKING CHANGE: the order of postLink fn is now mirror opposite of
the order in which corresponding preLinking and compile functions
execute.

Very few directives in practice rely on order of postLinking function
(unlike on the order of compile functions), so in the rare case
of this change affecting an existing directive, it might be necessary
to convert it to a preLinking function or give it negative priority
(look at the diff of this commit to see how an internal attribute
interpolation directive was adjusted).

Closes #3558
2013-10-03 22:23:37 -07:00
..
directive fix(ngRepeat): correctly track elements even when the collection is initially undefined 2013-09-25 09:42:01 -07:00
filter fix(dateFilter): allow negative millisecond value strings 2013-10-01 10:18:03 -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($compile): fix (reverse) directive postLink fn execution order 2013-10-03 22:23:37 -07:00
controllerSpec.js feat(minerr): log minerr doc url in development 2013-08-15 13:23:18 -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
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): disallow access to window and dom in expressions 2013-09-17 18:15:49 -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($scope): $evalAsync executes on the right scope 2013-10-02 11:10:29 -07: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(ngMock.$timeout): remove flushNext method 2013-10-02 15:59:49 -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