angular-cn/packages/core/test/render3
Kara Erickson a20b2f72f2 fix(ivy): process creation mode deeply before running update mode (#27744)
Prior to this commit, we had two different modes for change detection
execution for Ivy, depending on whether you called `bootstrap()` or
`renderComponent()`. In the former case, we would complete creation
mode for all components in the tree before beginning update mode for
any component. In the latter case, we would run creation mode and
update mode together for each component individually.

Maintaining code to support these two different execution orders was
unnecessarily complex, so this commit aligns the two bootstrapping
mechanisms to execute in the same order. Now creation mode always
runs for all components before update mode begins.

This change also simplifies our rendering logic so that we use
`LView` flags as the source of truth for rendering mode instead of
`rf` function arguments. This fixed some related bugs (e.g. calling
`ViewRef.detectChanges` synchronously after the view's creation
would create view nodes twice, view queries would execute twice, etc).

PR Close #27744
2018-12-19 15:10:16 -05:00
..
ivy fix(ivy): fix property names of ngOnChanges (#27714) 2018-12-18 10:42:42 -08:00
jit fix(core): Remove static dependency from @angular/core to @angular/compiler (#26734) 2018-10-31 14:15:06 -04:00
styling fix(ivy): define correct SVG namespace (FW-757) (#27529) 2018-12-07 11:53:52 -08:00
BUILD.bazel ci(ivy): packages/core/test/render3 now passes with ivy aot (#27278) 2018-11-27 10:30:58 -08:00
basic_perf.ts refactor(ivy): generate vars in component defs (#25562) 2018-08-20 11:08:10 -07:00
change_detection_spec.ts fix(ivy): process creation mode deeply before running update mode (#27744) 2018-12-19 15:10:16 -05:00
common_integration_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
common_with_def.ts fix(ivy): objects like ElementRef should not use a special injection fn (#26064) 2018-09-25 12:51:29 -07:00
component_ref_spec.ts fix(ivy): align NgModuleRef implementation between Ivy and ViewEngine (#27482) 2018-12-06 13:35:08 -08:00
component_spec.ts fix(ivy): process creation mode deeply before running update mode (#27744) 2018-12-19 15:10:16 -05:00
content_spec.ts test(ivy): add more test for content projection with ngIf / ngFor (#27705) 2018-12-17 10:26:30 -08:00
control_flow_spec.ts fix(ivy): process creation mode deeply before running update mode (#27744) 2018-12-19 15:10:16 -05:00
di_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
directive_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
discovery_utils_spec.ts feat(ivy): support context discovery for containers & ICU expressions (#27644) 2018-12-17 16:47:29 -08:00
domino.d.ts feat(core): Moving Renderer3 into @angular/core (#20855) 2017-12-21 21:40:58 -08:00
exports_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
global_utils_spec.ts fix(ivy): Implement remaining methods for DebugNode (#27387) 2018-12-04 19:58:25 -08:00
host_binding_spec.ts fix(ivy): call `hostBindings` function with proper element index (#27694) 2018-12-17 16:48:04 -08:00
i18n_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
imported_renderer2.ts refactor(ivy): misc cleanup (#25369) 2018-08-14 11:58:47 -07:00
inherit_definition_feature_spec.ts fix(ivy): fix property names of ngOnChanges (#27714) 2018-12-18 10:42:42 -08:00
instructions_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
integration_spec.ts fix(ivy): process creation mode deeply before running update mode (#27744) 2018-12-19 15:10:16 -05:00
jit_environment_spec.ts fix(ivy): remove metadata from *Def and introduce *DefWithMeta types (#26203) 2018-10-04 10:11:17 -07:00
lifecycle_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
listeners_spec.ts refactor(ivy): treate LView as the primary global state (#27282) 2018-11-29 21:26:15 -08:00
load_domino.ts fix(core): Remove static dependency from @angular/core to @angular/compiler (#26734) 2018-10-31 14:15:06 -04:00
metadata_spec.ts fix(ivy): prevent invalid forward references in setClassMetadata call (#27561) 2018-12-14 10:24:16 -08:00
ng_on_changes_feature_spec.ts feat(ivy): support providers and viewProviders (#25803) 2018-10-25 12:58:40 -04:00
node_selector_matcher_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
outputs_spec.ts refactor(ivy): generate vars in component defs (#25562) 2018-08-20 11:08:10 -07:00
perfCounter_spec.ts perf(ivy): add performance counters in ngDevMode (#23385) 2018-05-01 10:27:40 -07:00
pipe_spec.ts fix(ivy): check semantics of NgModule for consistency (#27604) 2018-12-17 14:49:51 -08:00
properties_spec.ts fix(ivy): process creation mode deeply before running update mode (#27744) 2018-12-19 15:10:16 -05:00
providers_spec.ts fix(ivy): consider providers for view/content queries (#27156) 2018-11-27 10:16:57 -08:00
pure_function_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
query_list_spec.ts feat(ivy): implement ViewContainerRef.remove (#24221) 2018-06-05 13:33:40 -07:00
query_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
render_util.ts fix(ivy): avoid destroy renderer method invocation for child views (#27592) 2018-12-12 13:04:09 -08:00
renderer_factory_spec.ts fix(ivy): process creation mode deeply before running update mode (#27744) 2018-12-19 15:10:16 -05:00
template_ref_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00
testing_spec.ts refactor(core): remove withBody from public testing API (#25171) 2018-07-31 15:09:32 -07:00
util_spec.ts refactor(ivy): treate LView as the primary global state (#27282) 2018-11-29 21:26:15 -08:00
view_container_ref_spec.ts fix(ivy): provide an ability to match <ng-template> tags (#27636) 2018-12-17 09:33:37 -08:00