angular/packages/core/test/linker
Andrew Scott 606de5166e refactor(core): newly created and any dirty views should get refreshed during CD (#53022)
When a view has the `Dirty` flag and is reattached, we should ensure that it is
reached and refreshed during the next change detection run from above.

In addition, when a view is created and attached, we should ensure that it is reached
and refreshed during change detection. This can happen if the view is
created and attached outside a change run or when it is created and
attached after its insertion view was already checked. In both cases, we
should ensure that the view is reached and refreshed during either the
current change detection or the next one (if change detection is not
already running).

We can achieve this by creating all views with the `Dirty` flag set.

However, this does happen to be a breaking change in some scenarios.
The one identified internally was actually depending on change detection
_not_ running immediately because it relied on an input value that was
set using `ngModel`. Because `ngModel` sets its value in a `Promise`, it
is not available until the _next_ change detection cycle. Ensuring
created views run in the current change change detection will result in
different behavior in this case.

Making option the default is the solution to #52928. That will have to
wait for a major version.

PR Close #53022
2023-12-14 09:17:49 -08:00
..
change_detection_integration_spec.ts refactor(core): newly created and any dirty views should get refreshed during CD (#53022) 2023-12-14 09:17:49 -08:00
inheritance_integration_spec.ts fix(core): better error message when directive extends a component (#45658) 2022-04-18 09:24:23 -07:00
integration_spec.ts feat(core): show runtime error for orphan component rendering (#52061) 2023-10-10 15:30:26 -07:00
ng_container_integration_spec.ts refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
ng_module_integration_spec.ts test(core): Remove manual ComponentFixture construction (#52983) 2023-11-16 15:12:32 -08:00
projection_integration_spec.ts refactor(platform-browser): Remove BrowserDetection (#50411) 2023-05-30 13:06:28 -07:00
query_integration_spec.ts refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
query_list_spec.ts test(core): clean up unnecessary nesting in old tests (#52239) 2023-10-19 09:26:15 -07:00
regression_integration_spec.ts refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
resource_loader_mock.ts refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
security_integration_spec.ts refactor(core): handle #24571 todos. (#49221) 2023-06-14 12:33:44 +02:00
source_map_integration_node_only_spec.ts test: convert source-map core tests to use async/await instead of fakeAsync (#46888) 2022-07-19 09:40:54 -07:00
source_map_util.ts build: replace base64-js package with Node.js Buffer usage (#53464) 2023-12-11 14:04:06 -08:00
view_injector_integration_spec.ts refactor(platform-browser): replace our own toBeAnInstanceOf with toBeInstanceOf (#50661) 2023-06-14 10:58:04 +02:00