angular/packages/core/test
crisbeto fcdada53f1 fix(ivy): constant object literals shared across element and component instances (#33705)
Currently if a consumer does something like the following, the object literal will be shared across the two elements and any instances of the component template. The same applies to array literals:

```
<div [someDirective]="{}"></div>
<div [someDirective]="{}"></div>
```

These changes make it so that we generate a pure function even if an object is constant so that each instance gets its own object.

Note that the original design for this fix included moving the pure function factories into the `consts` array. In the process of doing so I realized that pure function are also used inside of directive host bindings which means that we don't have access to the `consts`.

These changes also:
* Fix an issue that meant that the `pureFunction0` instruction could only be run during creation mode.
* Make the `getConstant` utility slightly more convenient to use. This isn't strictly required for these changes to work, but I had made it as a part of a larger refactor that I ended up reverting.

PR Close #33705
2019-11-13 13:36:41 -08:00
..
acceptance fix(ivy): constant object literals shared across element and component instances (#33705) 2019-11-13 13:36:41 -08:00
animation test: clean up explicit dynamic query usages (#33015) 2019-10-17 16:10:10 -04:00
bundling fix(ivy): Run ChangeDetection on transplanted views (#33644) 2019-11-12 13:53:54 -08:00
change_detection refactor: fix typescript strict flag failures in all tests (#30993) 2019-07-18 14:21:26 -07:00
debug fix: resolve event listeners not correct when registered outside of ngZone (#33711) 2019-11-11 14:00:31 -08:00
di refactor(core): rename ngInjectableDef to ɵprov (#33151) 2019-10-16 16:36:19 -04:00
dom refactor(core): move Meta methods that only have one version from DomAdapter (#32408) 2019-09-03 11:59:39 -07:00
i18n feat(common): support loading locales from a global (#33523) 2019-11-05 17:27:00 +00:00
linker revert: fix(ivy): R3TestBed should clean up registered modules after each test (#32872) (#33663) 2019-11-12 09:53:16 -08:00
metadata test: clean up explicit dynamic query usages (#33015) 2019-10-17 16:10:10 -04:00
reflection fix(core): handle undefined meta in injectArgs (#31333) 2019-07-01 10:11:08 -07:00
render3 build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
sanitization test: rename mispelled sanitization_spec.ts file (#33712) 2019-11-11 14:01:04 -08:00
strict_types refactor(core): rename ngPipeDef to ɵpipe (#33142) 2019-10-14 23:08:10 +00:00
testability build: update zone.js to 0.9.0 (#28219) 2019-03-26 12:50:38 -07:00
util refactor(ivy): remove duplicated flatten util (#29547) 2019-03-27 12:36:23 -07:00
view build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
zone fix(core): ngNoopZone should have the same signature with ngZone (#32068) 2019-10-04 11:48:12 -07:00
application_init_spec.ts fix(ivy): Enable AoT tests to run on CI; disable failing tests (#26975) 2018-11-07 10:35:20 -08:00
application_module_spec.ts feat(ivy): allow the locale to be set via a global property (#33314) 2019-10-24 10:16:25 -07:00
application_ref_integration_spec.ts fix(ivy): ensure that window.ng utilities are published when NgModules are used (#32725) 2019-09-17 13:32:06 -07:00
application_ref_spec.ts feat: typescript 3.6 support (#32946) 2019-10-18 13:15:16 -04:00
BUILD.bazel build: ts_web_test & ts_web_test_suite deprecated in favor of karma_web_test & karma_web_test_suite (#33802) 2019-11-13 13:33:38 -08:00
component_fixture_spec.ts test(ivy): update root causes for @angular/core TestBed failures (#27370) 2018-11-30 13:41:21 -08:00
dev_mode_spec.ts build(core): remove main() from specs (#21053) 2017-12-22 13:10:51 -08:00
directive_lifecycle_integration_spec.ts test(ivy): update root causes for @angular/core TestBed failures (#27419) 2018-12-03 08:19:56 -08:00
error_handler_spec.ts refactor(ivy): refactor more files in DI to prepare it for bazel packages (#28098) 2019-01-14 09:55:30 -08:00
event_emitter_spec.ts fix(core): fix proper propagation of subscriptions in EventEmitter (#22016) 2018-02-06 07:56:33 -08:00
fake_async_spec.ts feat: add a flag in bootstrap to enable coalesce event change detection to improve performance (#30533) 2019-11-05 18:58:25 +00:00
forward_ref_integration_spec.ts refactor(core): Migrate TestBed.get to TestBed.inject (#32382) 2019-09-09 19:10:54 -04:00
spies.ts refactor: Move dom_adapter.ts to @angular/common (#32154) 2019-08-29 21:51:56 -07:00
test_bed_async_spec.ts fix(ivy): stub TestBed.compileComponents implementation (#26506) 2018-10-17 13:08:14 -07:00
test_bed_spec.ts revert: fix(ivy): R3TestBed should clean up registered modules after each test (#32872) (#33663) 2019-11-12 09:53:16 -08:00
testing_internal_spec.ts build: update to rules_typescript 0.25.1 (#28625) 2019-02-21 07:46:21 -08:00
util_spec.ts build: extract interface and util sub compilation from core (#28028) 2019-01-10 16:31:44 -08:00