angular/packages/core/test
Andrew Scott a4e749ffca fix(core): When using setInput, mark view dirty in same was as markForCheck (#49711)
`ComponentRef.setInput` internally calls `markDirtyIfOnPush` which only marks
the given view as dirty but does not mark parents dirty like `ChangeDetectorRef.markForCheck` would.
f071224720/packages/core/src/render3/instructions/shared.ts (L1018-L1024)

`markDirtyIfOnPush` has an assumption that it’s being called from the parent’s template. That is, we don’t need to mark dirty to the root, because we’ve already traversed down to it.
The function used to only be called during template execution for input
bindings but was added to `setInput` later. It's not a good fit because
it means that if you are responding to events such as an emit from an `Observable`
and call `setInput`, the view of your `ComponentRef` won't necessarily get checked
when change detection runs next. If this lives inside some `OnPush` component tree
that's not already dirty, it only gets refreshed if you also call
`ChangeDetectorRef.markForCheck` in the host component (because it will be "shielded" be a non-dirty parent).

PR Close #49711
2023-04-05 10:13:21 -07:00
..
acceptance refactor(core): Use (where applicable), ViewContainer.createComponent instead of relying on the ComponentFactoryResolver. (#49614) 2023-03-30 11:43:35 -07:00
animation refactor(router): Remove RouterTestingModule in favor of RouterModule.forRoot (#49427) 2023-04-04 15:12:33 -07:00
bundling fix(core): When using setInput, mark view dirty in same was as markForCheck (#49711) 2023-04-05 10:13:21 -07:00
change_detection refactor(core): Cleanup for Iterable differs test. (#49598) 2023-04-04 15:13:01 -07:00
compiler build: ensure bootstrap transitive runfiles are made available (#48521) 2022-12-19 19:50:41 +00:00
debug feat(core): triggerEventHandler accept optional eventObj (#45279) 2022-03-09 13:51:54 -08:00
di refactor(core): Remove ReflectiveInjector symbol (#48103) 2023-04-04 16:43:53 -07:00
dom refactor(core): cleanup type any (#48623) 2023-01-04 12:15:16 -08:00
hydration refactor(core): adding hydration for content projection (#49454) 2023-03-21 17:42:53 +01:00
i18n build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
linker refactor(core): remove #9100 todos. (#49408) 2023-04-04 15:01:48 -07:00
metadata build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
reflection refactor(core): remove unused logic from reflection capabilities (#45335) 2022-03-24 11:02:39 -07:00
render3 fix(core): When using setInput, mark view dirty in same was as markForCheck (#49711) 2023-04-05 10:13:21 -07:00
sanitization feat(core): change the URL sanitization to only block javascript: URLs (#49659) 2023-04-04 15:01:13 -07:00
signals refactor(core): Prevent reads and writes to signals at certain times (#49631) 2023-03-30 16:09:12 -07:00
strict_types refactor(core): rename ...WithMeta types to ...Declaration and alias to unknown (#41119) 2021-03-22 08:57:18 -07:00
testability test(core): reset Testability getter after each test (#45947) 2022-05-10 16:02:53 -07:00
util refactor(core): Remove isObservable() in favor isSubscribable(). (#49295) 2023-03-08 17:58:19 +00:00
zone refactor: adjust packages/core/test to work with ESM (#48521) 2022-12-19 19:50:42 +00:00
application_config_spec.ts feat(core): add mergeApplicationConfig method (#49253) 2023-03-01 11:20:31 -08:00
application_init_spec.ts refactor(core): Application ref/init code cleaning (#49206) 2023-03-02 20:01:39 +00:00
application_module_spec.ts test(core): fix a crosstalk issue with locale ids (#45626) 2022-04-18 09:28:42 -07:00
application_ref_integration_spec.ts refactor: delete the View Engine runtime (#43884) 2021-11-23 21:10:06 +00:00
application_ref_spec.ts refactor(core): move Zone providers to a single provider function (#49373) 2023-03-14 09:20:53 -07:00
BUILD.bazel build: bundle tests for karma web test suites (#48521) 2022-12-19 19:50:42 +00:00
component_fixture_spec.ts feat(core): update reference and doc to change async to waitAsync. (#37583) 2020-08-03 12:54:13 -07:00
dev_mode_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
directive_lifecycle_integration_spec.ts refactor(core): cleanup type any (#48623) 2023-01-04 12:15:16 -08:00
error_handler_spec.ts refactor(core): remove unused error handler logic (#46216) 2022-06-02 13:40:16 -07:00
event_emitter_spec.ts refactor(core): cleanup type any (#48623) 2023-01-04 12:15:16 -08:00
fake_async_spec.ts refactor(core): cleanup type any (#48623) 2023-01-04 12:15:16 -08:00
forward_ref_integration_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
runtime_error_spec.ts refactor(core): split RuntimeError unit test up (#46239) 2022-06-06 10:12:06 -07:00
test_bed_spec.ts fix(common): Fix TestBed.overrideProvider type to include multi (#48424) 2022-12-12 09:40:22 -08:00
transfer_state_spec.ts refactor(core): move TransferState implementation to core (#49222) 2023-02-27 13:08:40 -08:00
util_spec.ts build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00