Skip to content
Permalink
Branch: master
Commits on Jun 14, 2019
  1. fix(ivy): don't throw when attempting to destroy a destroyed Componen…

    crisbeto authored and AndrewKushnir committed Jun 13, 2019
    …tRef (#31022)
    
    Currently in Ivy we throw when attempting to destroy a `ComponentRef` that has been destroyed, however in ViewEngine we didn't which can cause some tests to break. These changes remove the error to match ViewEngine.
    
    These changes resolve FW-1379.
    
    PR Close #31022
Commits on Jun 6, 2019
  1. fix(ivy): DebugNode.attributes not preserving attribute name casing (#…

    crisbeto authored and mhevery committed Jun 5, 2019
    …30864)
    
    In Ivy the `DebugNode.attributes` is populated directly from the DOM, but the problem is that the browser will lowercase all attribute names. These changes preserve the case by first going through the `TNode.attrs`, populating the map with the case-sensitive names and saving a reference to the lower case name. Afterwards when we're going through the attributes from the DOM, we can check whether we've mapped the attribute by its case-sensitive name already.
    
    This PR resolves FW-1358.
    
    PR Close #30864
  2. fix(ivy): error for empty bindings on ng-template (#30829)

    crisbeto authored and mhevery committed Jun 4, 2019
    Fixes Ivy throwing an error if it runs into an empty property binding on an `ng-template` (e.g. `<ng-template [something]=""></ng-template>`) by not generating an update instruction for it.
    
    Fixes #30801.
    This PR resoves FW-1356.
    
    PR Close #30829
Commits on May 31, 2019
  1. fix(ivy): DebugNode.queryAll matching sibling nodes (#30788)

    crisbeto authored and mhevery committed May 31, 2019
    Inside of `DebugNode.queryAll` we walk through all of the descendants of the node that we're querying against, however the logic that walks sideways through a node siblings also applies to the root node. This means that eventually we'll match against its nodes as well which will give us invalid results. These changes add an extra check to ensure that we aren't matching against the siblings of the root node.
    
    This PR resolves FW-1353.
    
    PR Close #30788
  2. test: move away from deprecated testing method (#30747)

    crisbeto authored and mhevery committed May 30, 2019
    Switches all of the tests away from the `runSchematic` method which was deprecated in 8.0 (see angular/angular-cli#14412). Along the same lines as angular/components#16150.
    
    PR Close #30747
Commits on May 16, 2019
  1. test(ivy): move integration tests into acceptance (#30461)

    crisbeto authored and jasonaden committed May 15, 2019
    Moves most of the tests from `render3/integration_spec` into `acceptance`. Note that there are still a handful of tests left in render3, because we don't have a way of moving all of them to go through `TestBed` since they either have r3-specific assertions or we don't have access to the same APIs as the raw instructions.
    
    PR Close #30461
  2. fix(ivy): unable to bind SafeValue to clip-path (#30491)

    crisbeto authored and jasonaden committed May 15, 2019
    Fixes not being able to pass in a `SafeValue` to a `clip-path` binding, because `clip-path` wasn't in the list of exceptions.
    
    PR Close #30491
Commits on May 14, 2019
  1. test(ivy): move discovery_utils tests to acceptance (#30416)

    crisbeto authored and alxhub committed May 11, 2019
    Rewrites the discovery util tests to use `TestBed`.
    
    PR Close #30416
  2. test(ivy): move change detection tests into acceptance (#30425)

    crisbeto authored and alxhub committed May 12, 2019
    Moves most of the r3 change detection tests into `acceptance`. Notes:
    * A handful of tests weren't migrated, because they were testing an API that isn't exposed publicly yet.
    * The `should throw if bindings in children of current view have changed` and `should NOT throw if bindings in ancestors of current view have changed` tests were removed, because there's not nice way of hitting the same code path with `TestBed` and doing the same assertion as with the raw instructions. I'm open to ideas on how we could do them.
    * There were a few tests that assert that the `innerHTML` looks in a particular way. I've switched them to use `textContent`, because Ivy and ViewEngine produce slightly different DOM. The tests were only checking whether the text has changed anyway.
    
    PR Close #30425
Commits on May 13, 2019
  1. fix(ivy): align NgModule registration timing with ViewEngine (#30244)

    crisbeto authored and alxhub committed May 8, 2019
    Currently in Ivy `NgModule` registration happens when the class is declared, however this is inconsistent with ViewEngine and requires extra generated code. These changes remove the generated code for `registerModuleFactory`, pass the id through to the `ngModuleDef` and do the module registration inside `NgModuleFactory.create`.
    
    This PR resolves FW-1285.
    
    PR Close #30244
Commits on May 10, 2019
  1. test(ivy): move pipe tests into acceptance (#30389)

    crisbeto authored and alxhub committed May 10, 2019
    Moves over the tests from `pipe_spec` into `acceptance`. Note that the two `WrappedValue` tests haven't been moved over, because impure pipes always throw "changed after checked" errors in `TestBed`. This seems to be consistent with ViewEngine.
    
    PR Close #30389
  2. test(ivy): move output tests to acceptance (#30372)

    crisbeto authored and alxhub committed May 10, 2019
    Moves most of the tests in `output_spec` into `acceptance`. Note that one test is left in `render3`, because it's testing mixing in custom logic with instructions which we can't replicate using `TestBed`.
    
    PR Close #30372
Commits on May 8, 2019
  1. fix(ivy): unable to bind SafeStyle as camel case property (#30328)

    crisbeto authored and alxhub committed May 8, 2019
    Fixes not being able to bind a `SafeStyle` as a camel cased style property (e.g. `[style.backgroundImage]="someSafeStyle"`). The issue was due to the fact that we only check the dash case property names to determine whether to sanitize a value.
    
    This PR resolves FW-1279.
    
    PR Close #30328
  2. test(ivy): move host binding tests to acceptance (#30308)

    crisbeto authored and alxhub committed May 8, 2019
    Switches over all host binding tests to use `TestBed` and to be under `acceptance`.
    
    PR Close #30308
Commits on Apr 30, 2019
  1. fix(ivy): inherited listeners from grand super classes invoked multip…

    crisbeto authored and kara committed Apr 29, 2019
    …le times (#30169)
    
    Fixes event listeners that come from more than one level of inheritance being invoked multiple times.
    
    This PR resolves FW-1294.
    
    PR Close #30169
  2. perf(ivy): store views directly on LContainer (#30179)

    crisbeto authored and kara committed Apr 29, 2019
    Stores the views that are part of a container directly on the `LContainer`, rather than maintaining a dedicated sub-array.
    
    This PR resolves FW-1288.
    
    PR Close #30179
Commits on Apr 29, 2019
  1. fix(ivy): host bindings and listeners not being inherited from undeco…

    crisbeto authored and AndrewKushnir committed Apr 27, 2019
    …rated classes (#30158)
    
    Fixes `HostBinding` and `HostListener` declarations not being inherited from base classes that don't have an Angular decorator.
    
    This PR resolves FW-1275.
    
    PR Close #30158
  2. fix: disable injectable-pipe migration (#30180)

    crisbeto authored and AndrewKushnir committed Apr 28, 2019
    Disables the injectable pipe migration until we can decide whether this is the right solution for Ivy. Rolling it out properly will involve a more detailed plan and more changes like updating the styleguide, scaffolding schematics etc.
    
    Context for the new `test-migrations.json`: since we use the `migrations.json` both for the real migrations and for tests, it doesn't allow us to disable a schematic, but continue running its tests. This change adds the test-specific file so that we can continue running the `injectable-pipe` tests, even though the schematic itself is disabled.
    
    PR Close #30180
  3. fix(ivy): injectable pipe schematic generating incorrect import state…

    crisbeto authored and AndrewKushnir committed Apr 27, 2019
    …ments (#30170)
    
    Currently the injectable pipe schematic generates invalid imports like `import import { Pipe, PipeTransform, Injectable } from '@angular/core'; from '@angular/core';`. The issue wasn't caught by the unit tests, because the invalid import still contains the valid one.
    
    Fixes #30159.
    
    PR Close #30170
Commits on Apr 26, 2019
  1. fix(ivy): correctly reflect undefined values (#30103)

    crisbeto authored and AndrewKushnir committed Apr 25, 2019
    Fixes Ivy reflecting properties with `undefined` values, rather than omitting them. Also fixes that Ivy doesn't clear the reflected values when property value changes from something that is defined to undefined.
    
    This PR resolves FW-1277.
    
    PR Close #30103
Commits on Apr 24, 2019
  1. fix(ivy): don't throw error when evaluating function with more than o…

    crisbeto authored and AndrewKushnir committed Apr 23, 2019
    …ne statement (#30061)
    
    Resolves functions with more than one statement to unknown dynamic values, rather than throwing an error.
    
    PR Close #30061
  2. perf(ivy): remove megamorphic read from renderStringify (#30082)

    crisbeto authored and AndrewKushnir committed Apr 24, 2019
    The `renderStringify` function is used in a lot of performance-sensitive places, however it contains a megamorphic read which is used primarily for error messages. These changes introduce a new function that can be used to stringify output for errors and removes the megamorphic read from `renderStringify`.
    
    This PR resolves FW-1286.
    
    PR Close #30082
  3. fix(ivy): queries not being inherited from undecorated classes (#30015)

    crisbeto authored and AndrewKushnir committed Apr 21, 2019
    Fixes view and content queries not being inherited in Ivy, if the base class hasn't been annotated with an Angular decorator (e.g. `Component` or `Directive`).
    
    Also reworks the way the `ngBaseDef` is created so that it is added at the same point as the queries, rather than inside of the `Input` and `Output` decorators.
    
    This PR partially resolves FW-1275. Support for host bindings will be added in a follow-up, because this PR is somewhat large as it is.
    
    PR Close #30015
Commits on Apr 23, 2019
  1. feat(ivy): add injectable-pipe schematic (#29847)

    crisbeto authored and benlesh committed Apr 12, 2019
    Adds a schematic that will annotate all `Pipe` classes with `Injectable` so that they can be injected.
    
    This PR resolves FW-1228.
    
    PR Close #29847
Commits on Apr 22, 2019
  1. fix(ivy): avoid generating instructions for empty style and class bin…

    crisbeto authored and benlesh committed Apr 22, 2019
    …dings (#30024)
    
    Fixes Ivy throwing an error because it tries to generate styling instructions for empty `style` and `class` bindings.
    
    This PR resolves FW-1274.
    
    PR Close #30024
Commits on Apr 19, 2019
  1. fix(ivy): error when calling remove() or detach() on an empty view co…

    crisbeto authored and benlesh committed Apr 19, 2019
    …ntainer (#29986)
    
    Fixes Ivy throwing an error if `remove()` or `detach()` are called on an empty `ViewContainerRef`.
    
    This PR resolves FW-1270.
    
    PR Close #29986
Commits on Apr 16, 2019
  1. fix(ivy): DebugNode.properties not preserving type of values (#29914)

    crisbeto authored and alxhub committed Apr 15, 2019
    Fixes the `DebugNode.properties` casting all of the values to a string.
    
    This PR resolves FW-1253.
    
    PR Close #29914
Commits on Apr 11, 2019
  1. perf(ivy): avoid storing raw selectors in projectionDef (#29578)

    crisbeto authored and IgorMinar committed Apr 8, 2019
    Currently in Ivy we pass both the raw and parsed selectors to the projectionDef instruction, because the parsed selectors are used to match most nodes, whereas the raw ones are used to match against nodes with the ngProjectAs attribute. The raw selectors add a fair bit of code that won't be used in most cases, because ngProjectAs is somewhat rare.
    
    These changes rework the compiler not to output the raw selectors in the projectionDef, but to parse the selector in ngProjectAs and to store it on the TAttributes. The logic for matching has also been changed so that it matches the pre-parsed ngProjectAs selector against the list of projection selectors.
    
    PR Close #29578
Commits on Apr 8, 2019
  1. fix(ivy): creation mode not run on view detached from change detection (

    crisbeto authored and IgorMinar committed Apr 6, 2019
    #29741)
    
    Fixes the creation mode block not being run on components which have been detached from change detection.
    
    This PR resolves FW-1217.
    Fixes #29645.
    
    PR Close #29741
  2. fix(ivy): not throwing error for unknown properties on container nodes (

    crisbeto authored and IgorMinar committed Apr 8, 2019
    #29691)
    
    Fixes Ivy not throwing an error if it runs into an invalid property binding on a container node (e.g. `<div *ngFor="let row of rows">` instead of `<div *ngFor="let row if rows">`).
    
    This PR resolves FW-1219.
    
    PR Close #29691
Commits on Mar 26, 2019
  1. fix(ivy): include className in DebugNode.properties (#29488)

    crisbeto authored and mhevery committed Mar 25, 2019
    Fixes the node's class bindings not being included under `DebugNode.properties.className` like in ViewEngine.
    
    This PR resolves FW-1196.
    
    PR Close #29488
Commits on Mar 22, 2019
  1. test(ivy): remove passing test from blocklist (#29484)

    crisbeto authored and mhevery committed Mar 22, 2019
    Removes the test that was fixed by angular/components#15555 from the blocklist.
    
    PR Close #29484
  2. fix(ivy): TestBed overriding custom ErrorHandler (#29482)

    crisbeto authored and mhevery committed Mar 22, 2019
    Fixes TestBed's default ErrorHandler overriding the one provided by the consumer via an `import`.
    
    This PR resolves FW-1193.
    
    PR Close #29482
Commits on Mar 20, 2019
  1. test(ivy): remove passing snack bar test from blocklist (#29423)

    crisbeto authored and matsko committed Mar 20, 2019
    Removes the test that was fixed by angular/components#15551 from the blocklist.
    
    PR Close #29423
Commits on Mar 18, 2019
  1. test(ivy): remove tree tests from blocklist (#29377)

    crisbeto authored and matsko committed Mar 18, 2019
    Removes all of the tests fixed by angular/components#15504 from the blocklist.
    
    PR Close #29377
Older
You can’t perform that action at this time.