angular/packages/core/test
Doug Parker cdda51a3b2 feat(core): support bootstrapping Angular applications underneath shadow roots
This is a minimal implmentation which just focuses on registering parent shadow roots in `SharedStylesHost` correctly.

We don't currently reference count usage of host values, meaning that as soon as we call `removeHost`, all styles are removed from it, even if other components relied on them. Therefore there is no good way to know whether styles are still needed or not, leaving us with the choice of either leaking them longer than necessary or destroying them while another component still needs them. The compromise I'm using here is to delete styles when destroying a component under a shadow root (based on the assumption that only one component will exist per shadow root) and to leave styles when destroying a component in the main document (based on the assumption that dialogs being destroyed should not impact the main application).

Neither assumption is totally safe to make, but we're hoping this is a viable balance for the moment. In the future we should look into lifting these restrictions to better support those use cases while properly reference counting usage of hosts in `SharedStylesHost`.

I also added some small tests to confirm that SSR styles are not duplicated, as an earlier implementation accidentally duplicated them. This should ensure we don't repeat that mistake.
2026-04-10 21:44:08 +03:00
..
acceptance fix(core): handle missing serialized container hydration data 2026-04-07 11:22:03 -07:00
animation refactor(core): Update determineLongestAnimation to account for playback rate 2026-03-12 17:36:50 -06:00
animation_utils refactor(core): dispatch enter and leave animations at the right times (#63450) 2025-09-10 22:24:00 +00:00
authoring feat(core): make SimpleChanges generic (#64535) 2025-10-20 17:49:39 +00:00
bundling feat(core): support bootstrapping Angular applications underneath shadow roots 2026-04-10 21:44:08 +03:00
change_detection build: update Jasmine to 6.0.0 2026-02-09 12:15:57 -08:00
compiler refactor(compiler): remove zone-based testing utilities 2026-02-09 07:55:12 -08:00
debug feat(core): Set default Component changeDetection strategy to OnPush 2026-03-24 16:25:02 -07:00
di docs: add new debugging and troubleshooting di guide 2026-02-20 10:01:11 -08:00
dom build: migrate all ts_library in packages/core/test (#61472) 2025-05-20 10:00:43 +00:00
hydration fix(core): catch hydration marker with implicit body tag (#60429) 2025-03-19 15:51:36 +01:00
i18n refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
legacy_animation feat(core): Set default Component changeDetection strategy to OnPush 2026-03-24 16:25:02 -07:00
linker refactor(core): remove ComponentFactoryResolver & ComponentFactory from the api surface"" 2026-04-07 09:30:25 -07:00
metadata refactor(core): improve resource loading with async/await 2025-11-11 12:50:16 -08:00
reflection refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
render3 refactor(core): remove ComponentFactoryResolver & ComponentFactory from the api surface"" 2026-04-07 09:30:25 -07:00
resource feat(core): allow debouncing signals 2026-03-09 13:21:52 -07:00
sanitization fix(core): prevent binding unsafe attributes on SVG animation elements (#67797) 2026-04-01 11:43:58 +02:00
signals fix(core): run linked signal equality check without reactive consumer 2026-03-17 13:59:38 -06:00
strict_types build: rename defaults2.bzl to defaults.bzl (#63383) 2025-08-25 15:45:01 -07:00
testability refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
util build: update Jasmine to 6.0.0 2026-02-09 12:15:57 -08:00
zone ci: reformat files 2025-12-16 14:44:19 -08:00
application_config_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
application_init_spec.ts test(core): refactors test to use timeout utility 2026-04-01 20:46:00 +02:00
application_module_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
application_ref_integration_spec.ts feat(core): Set default Component changeDetection strategy to OnPush 2026-03-24 16:25:02 -07:00
application_ref_spec.ts feat(core): bootstrap via ApplicationRef with config 2026-04-07 12:48:53 -07:00
BUILD.bazel build: rename defaults2.bzl to defaults.bzl (#63383) 2025-08-25 15:45:01 -07:00
change_detection_scheduler_spec.ts feat(core): Set default Component changeDetection strategy to OnPush 2026-03-24 16:25:02 -07:00
component_fixture_spec.ts feat(core): Set default Component changeDetection strategy to OnPush 2026-03-24 16:25:02 -07:00
defer_fixture_spec.ts ci: reformat files 2025-12-16 14:44:19 -08:00
dev_mode_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
directive_lifecycle_integration_spec.ts feat(core): Set default Component changeDetection strategy to OnPush 2026-03-24 16:25:02 -07:00
error_handler_spec.ts test(core): refactors test to use timeout utility 2026-04-01 20:46:00 +02:00
event_emitter_spec.ts refactor(core): Update tests for zoneless by default (#63668) 2025-09-09 14:41:56 -07:00
fake_async_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
forward_ref_integration_spec.ts ci: reformat files 2025-12-16 14:44:19 -08:00
runtime_error_spec.ts refactor(core): update error message links to versioned docs (#66374) 2026-01-09 22:33:51 +00:00
test_bed_effect_spec.ts feat(core): Set default Component changeDetection strategy to OnPush 2026-03-24 16:25:02 -07:00
test_bed_spec.ts feat(core): Set default Component changeDetection strategy to OnPush 2026-03-24 16:25:02 -07:00
transfer_state_spec.ts fix(core): Fix flakey test due to document injection 2026-02-09 14:16:24 -08:00