From 7e7aa350c0d5206deb7f12a88f2ff82ce9aef6e4 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Fri, 29 Jun 2018 22:16:35 +0100 Subject: [PATCH] Put reconciliation tests in a separate folder --- test/react/FunctionalComponents-test.js | 121 - test/react/Reconciliation-test.js | 138 + .../key-change-fragments.js | 0 .../key-change.js | 0 .../key-nesting-2.js | 0 .../key-nesting-3.js | 0 .../key-nesting.js | 0 .../key-not-change-fragments.js | 0 .../lazy-branched-elements.js | 0 .../lazy-branched-elements2.js | 0 .../type-change.js | 0 .../type-change10.js | 0 .../type-change11.js | 0 .../type-change2.js | 0 .../type-change3.js | 0 .../type-change4.js | 0 .../type-change5.js | 0 .../type-change6.js | 0 .../type-change7.js | 0 .../type-change8.js | 0 .../type-change9.js | 0 .../type-same.js | 0 .../FunctionalComponents-test.js.snap | 3166 ++--------------- .../__snapshots__/Reconciliation-test.js.snap | 2589 ++++++++++++++ 24 files changed, 3016 insertions(+), 2998 deletions(-) create mode 100644 test/react/Reconciliation-test.js rename test/react/{FunctionalComponents => Reconciliation}/key-change-fragments.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/key-change.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/key-nesting-2.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/key-nesting-3.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/key-nesting.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/key-not-change-fragments.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/lazy-branched-elements.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/lazy-branched-elements2.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change10.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change11.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change2.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change3.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change4.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change5.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change6.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change7.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change8.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-change9.js (100%) rename test/react/{FunctionalComponents => Reconciliation}/type-same.js (100%) create mode 100644 test/react/__snapshots__/Reconciliation-test.js.snap diff --git a/test/react/FunctionalComponents-test.js b/test/react/FunctionalComponents-test.js index 64408347fb..925b47f37c 100644 --- a/test/react/FunctionalComponents-test.js +++ b/test/react/FunctionalComponents-test.js @@ -296,22 +296,6 @@ it("Conditional", async () => { await runTest(__dirname + "/FunctionalComponents/conditional.js"); }); -it("Key nesting", async () => { - await runTest(__dirname + "/FunctionalComponents/key-nesting.js"); -}); - -it("Key nesting 2", async () => { - await runTest(__dirname + "/FunctionalComponents/key-nesting-2.js"); -}); - -it("Key nesting 3", async () => { - await runTest(__dirname + "/FunctionalComponents/key-nesting-3.js"); -}); - -it("Key change", async () => { - await runTest(__dirname + "/FunctionalComponents/key-change.js"); -}); - it("Equivalence", async () => { let createElement = React.createElement; let count = 0; @@ -340,62 +324,6 @@ it("Delete element prop key", async () => { await runTest(__dirname + "/FunctionalComponents/delete-element-prop-key.js"); }); -it("Key change with fragments", async () => { - await runTest(__dirname + "/FunctionalComponents/key-change-fragments.js"); -}); - -it("Key not changing with fragments", async () => { - await runTest(__dirname + "/FunctionalComponents/key-not-change-fragments.js"); -}); - -it("Component type change", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change.js"); -}); - -it("Component type change 2", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change2.js"); -}); - -it("Component type change 3", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change3.js"); -}); - -it("Component type change 4", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change4.js"); -}); - -it("Component type change 5", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change5.js"); -}); - -it("Component type change 6", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change6.js"); -}); - -it("Component type change 7", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change7.js"); -}); - -it("Component type change 8", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change8.js"); -}); - -it("Component type change 9", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change9.js"); -}); - -it("Component type change 10", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change10.js"); -}); - -it("Component type change 11", async () => { - await runTest(__dirname + "/FunctionalComponents/type-change11.js"); -}); - -it("Component type same", async () => { - await runTest(__dirname + "/FunctionalComponents/type-same.js"); -}); - it("Dynamic props", async () => { await runTest(__dirname + "/FunctionalComponents/dynamic-props.js"); }); @@ -479,52 +407,3 @@ it("Dynamic ReactElement type #3", async () => { it("Dynamic ReactElement type #4", async () => { await runTest(__dirname + "/FunctionalComponents/dynamic-type4.js"); }); - -it("Lazy branched elements", async () => { - let createElement = React.createElement; - let count = 0; - // For this test we want to also check how React.createElement - // calls occur so we can validate that we are correctly using - // lazy branched elements. To do this, we override the createElement - // call and increment a counter for ever call. - - // $FlowFixMe: intentional for this test - React.createElement = (type, config) => { - count++; - return createElement(type, config); - }; - try { - await runTest(__dirname + "/FunctionalComponents/lazy-branched-elements.js"); - } finally { - // $FlowFixMe: intentional for this test - React.createElement = createElement; - } - // The non-Prepacked version has 4 calls, the Prepacked one should have 4 calls. - // Multiplied by 4 because every test runs in four modes (JSX/createElement input and output). - expect(count).toEqual(8 * 4); -}); - -it("Lazy branched elements 2", async () => { - let createElement = React.createElement; - let count = 0; - // For this test we want to also check how React.createElement - // calls occur so we can validate that we are correctly using - // lazy branched elements. To do this, we override the createElement - // call and increment a counter for ever call. - - // $FlowFixMe: intentional for this test - React.createElement = (type, config) => { - count++; - return createElement(type, config); - }; - try { - await runTest(__dirname + "/FunctionalComponents/lazy-branched-elements2.js"); - } finally { - // $FlowFixMe: intentional for this test - React.createElement = createElement; - } - // The non-Prepacked version has 4 calls, the Prepacked one should have 3 calls - // (3 because one of the calls has been removing by inlining). - // Multiplied by 4 because every test runs in four modes (JSX/createElement input and output). - expect(count).toEqual(7 * 4); -}); diff --git a/test/react/Reconciliation-test.js b/test/react/Reconciliation-test.js new file mode 100644 index 0000000000..09faa0555a --- /dev/null +++ b/test/react/Reconciliation-test.js @@ -0,0 +1,138 @@ +/** + * Copyright (c) 2017-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +/* @flow */ + +const React = require("react"); +const prepareReactTests = require("./prepareReactTests"); +const { runTest, expectReconcilerFatalError, expectPartialKeyOrRefError } = prepareReactTests(); + +/* eslint-disable no-undef */ +const { expect, it } = global; + +it("Key nesting", async () => { + await runTest(__dirname + "/Reconciliation/key-nesting.js"); +}); + +it("Key nesting 2", async () => { + await runTest(__dirname + "/Reconciliation/key-nesting-2.js"); +}); + +it("Key nesting 3", async () => { + await runTest(__dirname + "/Reconciliation/key-nesting-3.js"); +}); + +it("Key change", async () => { + await runTest(__dirname + "/Reconciliation/key-change.js"); +}); + +it("Key change with fragments", async () => { + await runTest(__dirname + "/Reconciliation/key-change-fragments.js"); +}); + +it("Key not changing with fragments", async () => { + await runTest(__dirname + "/Reconciliation/key-not-change-fragments.js"); +}); + +it("Component type change", async () => { + await runTest(__dirname + "/Reconciliation/type-change.js"); +}); + +it("Component type change 2", async () => { + await runTest(__dirname + "/Reconciliation/type-change2.js"); +}); + +it("Component type change 3", async () => { + await runTest(__dirname + "/Reconciliation/type-change3.js"); +}); + +it("Component type change 4", async () => { + await runTest(__dirname + "/Reconciliation/type-change4.js"); +}); + +it("Component type change 5", async () => { + await runTest(__dirname + "/Reconciliation/type-change5.js"); +}); + +it("Component type change 6", async () => { + await runTest(__dirname + "/Reconciliation/type-change6.js"); +}); + +it("Component type change 7", async () => { + await runTest(__dirname + "/Reconciliation/type-change7.js"); +}); + +it("Component type change 8", async () => { + await runTest(__dirname + "/Reconciliation/type-change8.js"); +}); + +it("Component type change 9", async () => { + await runTest(__dirname + "/Reconciliation/type-change9.js"); +}); + +it("Component type change 10", async () => { + await runTest(__dirname + "/Reconciliation/type-change10.js"); +}); + +it("Component type change 11", async () => { + await runTest(__dirname + "/Reconciliation/type-change11.js"); +}); + +it("Component type same", async () => { + await runTest(__dirname + "/Reconciliation/type-same.js"); +}); + +it("Lazy branched elements", async () => { + let createElement = React.createElement; + let count = 0; + // For this test we want to also check how React.createElement + // calls occur so we can validate that we are correctly using + // lazy branched elements. To do this, we override the createElement + // call and increment a counter for ever call. + + // $FlowFixMe: intentional for this test + React.createElement = (type, config) => { + count++; + return createElement(type, config); + }; + try { + await runTest(__dirname + "/Reconciliation/lazy-branched-elements.js"); + } finally { + // $FlowFixMe: intentional for this test + React.createElement = createElement; + } + // The non-Prepacked version has 4 calls, the Prepacked one should have 4 calls. + // Multiplied by 4 because every test runs in four modes (JSX/createElement input and output). + expect(count).toEqual(8 * 4); +}); + +it("Lazy branched elements 2", async () => { + let createElement = React.createElement; + let count = 0; + // For this test we want to also check how React.createElement + // calls occur so we can validate that we are correctly using + // lazy branched elements. To do this, we override the createElement + // call and increment a counter for ever call. + + // $FlowFixMe: intentional for this test + React.createElement = (type, config) => { + count++; + return createElement(type, config); + }; + try { + await runTest(__dirname + "/Reconciliation/lazy-branched-elements2.js"); + } finally { + // $FlowFixMe: intentional for this test + React.createElement = createElement; + } + // The non-Prepacked version has 4 calls, the Prepacked one should have 3 calls + // (3 because one of the calls has been removing by inlining). + // Multiplied by 4 because every test runs in four modes (JSX/createElement input and output). + expect(count).toEqual(7 * 4); +}); diff --git a/test/react/FunctionalComponents/key-change-fragments.js b/test/react/Reconciliation/key-change-fragments.js similarity index 100% rename from test/react/FunctionalComponents/key-change-fragments.js rename to test/react/Reconciliation/key-change-fragments.js diff --git a/test/react/FunctionalComponents/key-change.js b/test/react/Reconciliation/key-change.js similarity index 100% rename from test/react/FunctionalComponents/key-change.js rename to test/react/Reconciliation/key-change.js diff --git a/test/react/FunctionalComponents/key-nesting-2.js b/test/react/Reconciliation/key-nesting-2.js similarity index 100% rename from test/react/FunctionalComponents/key-nesting-2.js rename to test/react/Reconciliation/key-nesting-2.js diff --git a/test/react/FunctionalComponents/key-nesting-3.js b/test/react/Reconciliation/key-nesting-3.js similarity index 100% rename from test/react/FunctionalComponents/key-nesting-3.js rename to test/react/Reconciliation/key-nesting-3.js diff --git a/test/react/FunctionalComponents/key-nesting.js b/test/react/Reconciliation/key-nesting.js similarity index 100% rename from test/react/FunctionalComponents/key-nesting.js rename to test/react/Reconciliation/key-nesting.js diff --git a/test/react/FunctionalComponents/key-not-change-fragments.js b/test/react/Reconciliation/key-not-change-fragments.js similarity index 100% rename from test/react/FunctionalComponents/key-not-change-fragments.js rename to test/react/Reconciliation/key-not-change-fragments.js diff --git a/test/react/FunctionalComponents/lazy-branched-elements.js b/test/react/Reconciliation/lazy-branched-elements.js similarity index 100% rename from test/react/FunctionalComponents/lazy-branched-elements.js rename to test/react/Reconciliation/lazy-branched-elements.js diff --git a/test/react/FunctionalComponents/lazy-branched-elements2.js b/test/react/Reconciliation/lazy-branched-elements2.js similarity index 100% rename from test/react/FunctionalComponents/lazy-branched-elements2.js rename to test/react/Reconciliation/lazy-branched-elements2.js diff --git a/test/react/FunctionalComponents/type-change.js b/test/react/Reconciliation/type-change.js similarity index 100% rename from test/react/FunctionalComponents/type-change.js rename to test/react/Reconciliation/type-change.js diff --git a/test/react/FunctionalComponents/type-change10.js b/test/react/Reconciliation/type-change10.js similarity index 100% rename from test/react/FunctionalComponents/type-change10.js rename to test/react/Reconciliation/type-change10.js diff --git a/test/react/FunctionalComponents/type-change11.js b/test/react/Reconciliation/type-change11.js similarity index 100% rename from test/react/FunctionalComponents/type-change11.js rename to test/react/Reconciliation/type-change11.js diff --git a/test/react/FunctionalComponents/type-change2.js b/test/react/Reconciliation/type-change2.js similarity index 100% rename from test/react/FunctionalComponents/type-change2.js rename to test/react/Reconciliation/type-change2.js diff --git a/test/react/FunctionalComponents/type-change3.js b/test/react/Reconciliation/type-change3.js similarity index 100% rename from test/react/FunctionalComponents/type-change3.js rename to test/react/Reconciliation/type-change3.js diff --git a/test/react/FunctionalComponents/type-change4.js b/test/react/Reconciliation/type-change4.js similarity index 100% rename from test/react/FunctionalComponents/type-change4.js rename to test/react/Reconciliation/type-change4.js diff --git a/test/react/FunctionalComponents/type-change5.js b/test/react/Reconciliation/type-change5.js similarity index 100% rename from test/react/FunctionalComponents/type-change5.js rename to test/react/Reconciliation/type-change5.js diff --git a/test/react/FunctionalComponents/type-change6.js b/test/react/Reconciliation/type-change6.js similarity index 100% rename from test/react/FunctionalComponents/type-change6.js rename to test/react/Reconciliation/type-change6.js diff --git a/test/react/FunctionalComponents/type-change7.js b/test/react/Reconciliation/type-change7.js similarity index 100% rename from test/react/FunctionalComponents/type-change7.js rename to test/react/Reconciliation/type-change7.js diff --git a/test/react/FunctionalComponents/type-change8.js b/test/react/Reconciliation/type-change8.js similarity index 100% rename from test/react/FunctionalComponents/type-change8.js rename to test/react/Reconciliation/type-change8.js diff --git a/test/react/FunctionalComponents/type-change9.js b/test/react/Reconciliation/type-change9.js similarity index 100% rename from test/react/FunctionalComponents/type-change9.js rename to test/react/Reconciliation/type-change9.js diff --git a/test/react/FunctionalComponents/type-same.js b/test/react/Reconciliation/type-same.js similarity index 100% rename from test/react/FunctionalComponents/type-same.js rename to test/react/Reconciliation/type-same.js diff --git a/test/react/__snapshots__/FunctionalComponents-test.js.snap b/test/react/__snapshots__/FunctionalComponents-test.js.snap index 0168b2603e..fa8d9c803c 100644 --- a/test/react/__snapshots__/FunctionalComponents-test.js.snap +++ b/test/react/__snapshots__/FunctionalComponents-test.js.snap @@ -1472,36 +1472,16 @@ ReactStatistics { } `; -exports[`Component type change 1`] = ` +exports[`Conditional 1`] = ` ReactStatistics { - "componentsEvaluated": 6, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "MessagePane", - "status": "INLINED", - }, - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], "message": "", - "name": "SettingsPane", + "name": "MaybeShow", "status": "INLINED", }, ], @@ -1510,42 +1490,22 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "optimizedTrees": 1, } `; -exports[`Component type change 2`] = ` +exports[`Conditional 2`] = ` ReactStatistics { - "componentsEvaluated": 6, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "MessagePane", - "status": "INLINED", - }, - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], "message": "", - "name": "SettingsPane", + "name": "MaybeShow", "status": "INLINED", }, ], @@ -1554,28 +1514,22 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "optimizedTrees": 1, } `; -exports[`Component type change 2 1`] = ` +exports[`Conditional 3`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", + "name": "MaybeShow", "status": "INLINED", }, ], @@ -1584,28 +1538,22 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 2 2`] = ` +exports[`Conditional 4`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", + "name": "MaybeShow", "status": "INLINED", }, ], @@ -1614,28 +1562,34 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 2 3`] = ` +exports[`Delete element prop key 1`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 4, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Foo", + "name": "A", "status": "INLINED", }, Object { "children": Array [], "message": "", - "name": "Bar", + "name": "B", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "C", "status": "INLINED", }, ], @@ -1644,28 +1598,34 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 3, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 2 4`] = ` +exports[`Delete element prop key 2`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 4, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Foo", + "name": "A", "status": "INLINED", }, Object { "children": Array [], "message": "", - "name": "Bar", + "name": "B", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "C", "status": "INLINED", }, ], @@ -1674,42 +1634,34 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 3, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 3`] = ` +exports[`Delete element prop key 3`] = ` ReactStatistics { - "componentsEvaluated": 6, + "componentsEvaluated": 4, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], "message": "", - "name": "MessagePane", + "name": "A", "status": "INLINED", }, Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], + "message": "", + "name": "B", + "status": "INLINED", + }, + Object { + "children": Array [], "message": "", - "name": "SettingsPane", + "name": "C", "status": "INLINED", }, ], @@ -1718,28 +1670,34 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 3, "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "optimizedTrees": 1, } `; -exports[`Component type change 3 1`] = ` +exports[`Delete element prop key 4`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 4, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Foo", + "name": "A", "status": "INLINED", }, Object { "children": Array [], "message": "", - "name": "Foo", + "name": "B", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "C", "status": "INLINED", }, ], @@ -1748,15 +1706,15 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 3, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 3 2`] = ` +exports[`Dynamic ReactElement type #2 1`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 4, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -1769,7 +1727,13 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", "status": "INLINED", }, ], @@ -1778,15 +1742,15 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 3, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 3 3`] = ` +exports[`Dynamic ReactElement type #2 2`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 4, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -1799,7 +1763,13 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", "status": "INLINED", }, ], @@ -1808,15 +1778,15 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 3, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 3 4`] = ` +exports[`Dynamic ReactElement type #2 3`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 4, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -1829,7 +1799,13 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", "status": "INLINED", }, ], @@ -1838,42 +1814,34 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 3, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 4`] = ` +exports[`Dynamic ReactElement type #2 4`] = ` ReactStatistics { - "componentsEvaluated": 6, + "componentsEvaluated": 4, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], "message": "", - "name": "MessagePane", + "name": "Foo", "status": "INLINED", }, Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], "message": "", - "name": "SettingsPane", + "name": "Bar", "status": "INLINED", }, ], @@ -1882,15 +1850,15 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 3, "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "optimizedTrees": 1, } `; -exports[`Component type change 4 1`] = ` +exports[`Dynamic ReactElement type #3 1`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 3, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -1903,19 +1871,7 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "Bar", "status": "INLINED", }, ], @@ -1924,15 +1880,15 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 4, + "inlinedComponents": 2, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 4 2`] = ` +exports[`Dynamic ReactElement type #3 2`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 3, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -1945,19 +1901,7 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "Bar", "status": "INLINED", }, ], @@ -1966,15 +1910,15 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 4, + "inlinedComponents": 2, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 4 3`] = ` +exports[`Dynamic ReactElement type #3 3`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 3, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -1987,19 +1931,7 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "Bar", "status": "INLINED", }, ], @@ -2008,15 +1940,15 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 4, + "inlinedComponents": 2, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 4 4`] = ` +exports[`Dynamic ReactElement type #3 4`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 3, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -2029,19 +1961,7 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "Bar", "status": "INLINED", }, ], @@ -2050,15 +1970,15 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 4, + "inlinedComponents": 2, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 5 1`] = ` +exports[`Dynamic ReactElement type #4 1`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -2068,39 +1988,21 @@ ReactStatistics { "name": "Foo", "status": "INLINED", }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, ], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 4, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 5 2`] = ` +exports[`Dynamic ReactElement type #4 2`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -2110,39 +2012,21 @@ ReactStatistics { "name": "Foo", "status": "INLINED", }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, ], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 4, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 5 3`] = ` +exports[`Dynamic ReactElement type #4 3`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -2152,39 +2036,21 @@ ReactStatistics { "name": "Foo", "status": "INLINED", }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, ], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 4, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 5 4`] = ` +exports[`Dynamic ReactElement type #4 4`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ @@ -2194,37 +2060,19 @@ ReactStatistics { "name": "Foo", "status": "INLINED", }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, ], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 4, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 6 1`] = ` +exports[`Dynamic ReactElement type 1`] = ` ReactStatistics { "componentsEvaluated": 3, "evaluatedRootNodes": Array [ @@ -2239,7 +2087,7 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", + "name": "Bar", "status": "INLINED", }, ], @@ -2254,7 +2102,7 @@ ReactStatistics { } `; -exports[`Component type change 6 2`] = ` +exports[`Dynamic ReactElement type 2`] = ` ReactStatistics { "componentsEvaluated": 3, "evaluatedRootNodes": Array [ @@ -2269,7 +2117,7 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", + "name": "Bar", "status": "INLINED", }, ], @@ -2284,7 +2132,7 @@ ReactStatistics { } `; -exports[`Component type change 6 3`] = ` +exports[`Dynamic ReactElement type 3`] = ` ReactStatistics { "componentsEvaluated": 3, "evaluatedRootNodes": Array [ @@ -2299,7 +2147,7 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", + "name": "Bar", "status": "INLINED", }, ], @@ -2314,7 +2162,7 @@ ReactStatistics { } `; -exports[`Component type change 6 4`] = ` +exports[`Dynamic ReactElement type 4`] = ` ReactStatistics { "componentsEvaluated": 3, "evaluatedRootNodes": Array [ @@ -2329,7 +2177,7 @@ ReactStatistics { Object { "children": Array [], "message": "", - "name": "Foo", + "name": "Bar", "status": "INLINED", }, ], @@ -2344,142 +2192,112 @@ ReactStatistics { } `; -exports[`Component type change 7 1`] = ` +exports[`Dynamic context 1`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "SubChild", "status": "INLINED", }, ], "message": "", - "name": "App", + "name": "Child", "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 7 2`] = ` +exports[`Dynamic context 2`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "SubChild", "status": "INLINED", }, ], "message": "", - "name": "App", + "name": "Child", "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 7 3`] = ` +exports[`Dynamic context 3`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "SubChild", "status": "INLINED", }, ], "message": "", - "name": "App", + "name": "Child", "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 7 4`] = ` +exports[`Dynamic context 4`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "SubChild", "status": "INLINED", }, ], "message": "", - "name": "App", + "name": "Child", "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 8 1`] = ` +exports[`Dynamic props 1`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "Fn", "status": "INLINED", }, ], @@ -2488,28 +2306,22 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 8 2`] = ` +exports[`Dynamic props 2`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "Fn", "status": "INLINED", }, ], @@ -2518,28 +2330,22 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 8 3`] = ` +exports[`Dynamic props 3`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "Fn", "status": "INLINED", }, ], @@ -2548,28 +2354,22 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 8 4`] = ` +exports[`Dynamic props 4`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", + "name": "Fn", "status": "INLINED", }, ], @@ -2578,2051 +2378,18 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 1, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Component type change 9 1`] = ` +exports[`Equivalence 1`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 9 2`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 9 3`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 9 4`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 10 1`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 10 2`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 10 3`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 10 4`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 11 1`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 11 2`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 11 3`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type change 11 4`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type same 1`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type same 2`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type same 3`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Component type same 4`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Conditional 1`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "MaybeShow", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Conditional 2`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "MaybeShow", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Conditional 3`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "MaybeShow", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Conditional 4`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "MaybeShow", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Delete element prop key 1`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "B", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "C", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 3, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Delete element prop key 2`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "B", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "C", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 3, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Delete element prop key 3`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "B", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "C", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 3, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Delete element prop key 4`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "B", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "C", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 3, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #2 1`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 3, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #2 2`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 3, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #2 3`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 3, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #2 4`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 3, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #3 1`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #3 2`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #3 3`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #3 4`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #4 1`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #4 2`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #4 3`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type #4 4`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type 1`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type 2`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type 3`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic ReactElement type 4`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Foo", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Bar", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic context 1`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "SubChild", - "status": "INLINED", - }, - ], - "message": "", - "name": "Child", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic context 2`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "SubChild", - "status": "INLINED", - }, - ], - "message": "", - "name": "Child", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic context 3`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "SubChild", - "status": "INLINED", - }, - ], - "message": "", - "name": "Child", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic context 4`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "SubChild", - "status": "INLINED", - }, - ], - "message": "", - "name": "Child", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic props 1`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Fn", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic props 2`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Fn", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic props 3`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Fn", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Dynamic props 4`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Fn", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Equivalence 1`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Equivalence 2`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Equivalence 3`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Equivalence 4`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Event handlers 1`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Event handlers 2`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Event handlers 3`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Event handlers 4`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays 1`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays 2`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays 2 1`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays 2 2`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays 2 3`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays 2 4`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays 3`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays 4`] = ` -ReactStatistics { - "componentsEvaluated": 2, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "A", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 1, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays from Array.from 1`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays from Array.from 2`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays from Array.from 3`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Handle mapped arrays from Array.from 4`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 1, - "optimizedTrees": 1, -} -`; - -exports[`Havocing of ReactElements should not result in property assignments 1`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Havocing of ReactElements should not result in property assignments 2`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Havocing of ReactElements should not result in property assignments 3`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Havocing of ReactElements should not result in property assignments 4`] = ` -ReactStatistics { - "componentsEvaluated": 1, - "evaluatedRootNodes": Array [ - Object { - "children": Array [], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 1, -} -`; - -exports[`Key change 1`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, -} -`; - -exports[`Key change 2`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, -} -`; - -exports[`Key change 3`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, -} -`; - -exports[`Key change 4`] = ` -ReactStatistics { - "componentsEvaluated": 4, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, -} -`; - -exports[`Key change with fragments 1`] = ` -ReactStatistics { - "componentsEvaluated": 5, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "React.Fragment", - "status": "NORMAL", - }, - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, -} -`; - -exports[`Key change with fragments 2`] = ` -ReactStatistics { - "componentsEvaluated": 5, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "React.Fragment", - "status": "NORMAL", - }, - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", @@ -4630,36 +2397,16 @@ ReactStatistics { ], "inlinedComponents": 0, "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "optimizedTrees": 1, } `; -exports[`Key change with fragments 3`] = ` +exports[`Equivalence 2`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "React.Fragment", - "status": "NORMAL", - }, - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", @@ -4667,36 +2414,16 @@ ReactStatistics { ], "inlinedComponents": 0, "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "optimizedTrees": 1, } `; -exports[`Key change with fragments 4`] = ` +exports[`Equivalence 3`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "React.Fragment", - "status": "NORMAL", - }, - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", @@ -4704,308 +2431,105 @@ ReactStatistics { ], "inlinedComponents": 0, "optimizedNestedClosures": 0, - "optimizedTrees": 2, -} -`; - -exports[`Key nesting 1`] = ` -ReactStatistics { - "componentsEvaluated": 6, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "MessagePane", - "status": "INLINED", - }, - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "SettingsPane", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, -} -`; - -exports[`Key nesting 2`] = ` -ReactStatistics { - "componentsEvaluated": 6, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "MessagePane", - "status": "INLINED", - }, - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "SettingsPane", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, -} -`; - -exports[`Key nesting 2 1`] = ` -ReactStatistics { - "componentsEvaluated": 3, - "evaluatedRootNodes": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - ], - "message": "", - "name": "App", - "status": "ROOT", - }, - ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Key nesting 2 2`] = ` +exports[`Equivalence 4`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 0, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Key nesting 2 3`] = ` +exports[`Event handlers 1`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 0, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Key nesting 2 4`] = ` +exports[`Event handlers 2`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 0, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Key nesting 3`] = ` +exports[`Event handlers 3`] = ` ReactStatistics { - "componentsEvaluated": 6, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "MessagePane", - "status": "INLINED", - }, - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "SettingsPane", - "status": "INLINED", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 0, "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "optimizedTrees": 1, } `; -exports[`Key nesting 3 1`] = ` +exports[`Event handlers 4`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Child", - "status": "INLINED", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 2, + "inlinedComponents": 0, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Key nesting 3 2`] = ` +exports[`Handle mapped arrays 1`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Child", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Child", + "name": "A", "status": "INLINED", }, ], @@ -5014,28 +2538,22 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, + "inlinedComponents": 1, + "optimizedNestedClosures": 1, "optimizedTrees": 1, } `; -exports[`Key nesting 3 3`] = ` +exports[`Handle mapped arrays 2`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Child", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Child", + "name": "A", "status": "INLINED", }, ], @@ -5044,28 +2562,22 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, + "inlinedComponents": 1, + "optimizedNestedClosures": 1, "optimizedTrees": 1, } `; -exports[`Key nesting 3 4`] = ` +exports[`Handle mapped arrays 2 1`] = ` ReactStatistics { - "componentsEvaluated": 3, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { "children": Array [], "message": "", - "name": "Child", - "status": "INLINED", - }, - Object { - "children": Array [], - "message": "", - "name": "Child", + "name": "A", "status": "INLINED", }, ], @@ -5074,42 +2586,22 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, + "inlinedComponents": 1, + "optimizedNestedClosures": 1, "optimizedTrees": 1, } `; -exports[`Key nesting 4`] = ` +exports[`Handle mapped arrays 2 2`] = ` ReactStatistics { - "componentsEvaluated": 6, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "MessagePane", - "status": "INLINED", - }, - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], + "children": Array [], "message": "", - "name": "SettingsPane", + "name": "A", "status": "INLINED", }, ], @@ -5118,36 +2610,23 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 2, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "inlinedComponents": 1, + "optimizedNestedClosures": 1, + "optimizedTrees": 1, } `; -exports[`Key not changing with fragments 1`] = ` +exports[`Handle mapped arrays 2 3`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "React.Fragment", - "status": "NORMAL", - }, Object { "children": Array [], "message": "", - "name": "Stateful", - "status": "NEW_TREE", + "name": "A", + "status": "INLINED", }, ], "message": "", @@ -5155,36 +2634,23 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "inlinedComponents": 1, + "optimizedNestedClosures": 1, + "optimizedTrees": 1, } `; -exports[`Key not changing with fragments 2`] = ` +exports[`Handle mapped arrays 2 4`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "React.Fragment", - "status": "NORMAL", - }, Object { "children": Array [], "message": "", - "name": "Stateful", - "status": "NEW_TREE", + "name": "A", + "status": "INLINED", }, ], "message": "", @@ -5192,36 +2658,23 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "inlinedComponents": 1, + "optimizedNestedClosures": 1, + "optimizedTrees": 1, } `; -exports[`Key not changing with fragments 3`] = ` +exports[`Handle mapped arrays 3`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "React.Fragment", - "status": "NORMAL", - }, Object { "children": Array [], "message": "", - "name": "Stateful", - "status": "NEW_TREE", + "name": "A", + "status": "INLINED", }, ], "message": "", @@ -5229,36 +2682,23 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "inlinedComponents": 1, + "optimizedNestedClosures": 1, + "optimizedTrees": 1, } `; -exports[`Key not changing with fragments 4`] = ` +exports[`Handle mapped arrays 4`] = ` ReactStatistics { - "componentsEvaluated": 5, + "componentsEvaluated": 2, "evaluatedRootNodes": Array [ Object { "children": Array [ - Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Stateful", - "status": "NEW_TREE", - }, - ], - "message": "", - "name": "React.Fragment", - "status": "NORMAL", - }, Object { "children": Array [], "message": "", - "name": "Stateful", - "status": "NEW_TREE", + "name": "A", + "status": "INLINED", }, ], "message": "", @@ -5266,13 +2706,13 @@ ReactStatistics { "status": "ROOT", }, ], - "inlinedComponents": 0, - "optimizedNestedClosures": 0, - "optimizedTrees": 2, + "inlinedComponents": 1, + "optimizedNestedClosures": 1, + "optimizedTrees": 1, } `; -exports[`Lazy branched elements 1`] = ` +exports[`Handle mapped arrays from Array.from 1`] = ` ReactStatistics { "componentsEvaluated": 1, "evaluatedRootNodes": Array [ @@ -5284,12 +2724,12 @@ ReactStatistics { }, ], "inlinedComponents": 0, - "optimizedNestedClosures": 0, + "optimizedNestedClosures": 1, "optimizedTrees": 1, } `; -exports[`Lazy branched elements 2`] = ` +exports[`Handle mapped arrays from Array.from 2`] = ` ReactStatistics { "componentsEvaluated": 1, "evaluatedRootNodes": Array [ @@ -5301,108 +2741,80 @@ ReactStatistics { }, ], "inlinedComponents": 0, - "optimizedNestedClosures": 0, + "optimizedNestedClosures": 1, "optimizedTrees": 1, } `; -exports[`Lazy branched elements 2 1`] = ` +exports[`Handle mapped arrays from Array.from 3`] = ` ReactStatistics { - "componentsEvaluated": 2, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Button", - "status": "INLINED", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, + "inlinedComponents": 0, + "optimizedNestedClosures": 1, "optimizedTrees": 1, } `; -exports[`Lazy branched elements 2 2`] = ` +exports[`Handle mapped arrays from Array.from 4`] = ` ReactStatistics { - "componentsEvaluated": 2, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Button", - "status": "INLINED", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 1, - "optimizedNestedClosures": 0, + "inlinedComponents": 0, + "optimizedNestedClosures": 1, "optimizedTrees": 1, } `; -exports[`Lazy branched elements 2 3`] = ` +exports[`Havocing of ReactElements should not result in property assignments 1`] = ` ReactStatistics { - "componentsEvaluated": 2, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Button", - "status": "INLINED", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 1, + "inlinedComponents": 0, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Lazy branched elements 2 4`] = ` +exports[`Havocing of ReactElements should not result in property assignments 2`] = ` ReactStatistics { - "componentsEvaluated": 2, + "componentsEvaluated": 1, "evaluatedRootNodes": Array [ Object { - "children": Array [ - Object { - "children": Array [], - "message": "", - "name": "Button", - "status": "INLINED", - }, - ], + "children": Array [], "message": "", "name": "App", "status": "ROOT", }, ], - "inlinedComponents": 1, + "inlinedComponents": 0, "optimizedNestedClosures": 0, "optimizedTrees": 1, } `; -exports[`Lazy branched elements 3`] = ` +exports[`Havocing of ReactElements should not result in property assignments 3`] = ` ReactStatistics { "componentsEvaluated": 1, "evaluatedRootNodes": Array [ @@ -5419,7 +2831,7 @@ ReactStatistics { } `; -exports[`Lazy branched elements 4`] = ` +exports[`Havocing of ReactElements should not result in property assignments 4`] = ` ReactStatistics { "componentsEvaluated": 1, "evaluatedRootNodes": Array [ diff --git a/test/react/__snapshots__/Reconciliation-test.js.snap b/test/react/__snapshots__/Reconciliation-test.js.snap new file mode 100644 index 0000000000..4848134124 --- /dev/null +++ b/test/react/__snapshots__/Reconciliation-test.js.snap @@ -0,0 +1,2589 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Component type change 1`] = ` +ReactStatistics { + "componentsEvaluated": 6, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "MessagePane", + "status": "INLINED", + }, + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "SettingsPane", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Component type change 2`] = ` +ReactStatistics { + "componentsEvaluated": 6, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "MessagePane", + "status": "INLINED", + }, + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "SettingsPane", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Component type change 2 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 2 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 2 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 2 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 3`] = ` +ReactStatistics { + "componentsEvaluated": 6, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "MessagePane", + "status": "INLINED", + }, + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "SettingsPane", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Component type change 3 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 3 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 3 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 3 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 4`] = ` +ReactStatistics { + "componentsEvaluated": 6, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "MessagePane", + "status": "INLINED", + }, + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "SettingsPane", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Component type change 4 1`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 4, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 4 2`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 4, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 4 3`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 4, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 4 4`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 4, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 5 1`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 4, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 5 2`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 4, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 5 3`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 4, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 5 4`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 4, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 6 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 6 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 6 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 6 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 7 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 7 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 7 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 7 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 8 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 8 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 8 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 8 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 9 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 9 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 9 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 9 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 10 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 10 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 10 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 10 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 11 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 11 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 11 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type change 11 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Bar", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type same 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type same 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type same 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Component type same 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Foo", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Key change 1`] = ` +ReactStatistics { + "componentsEvaluated": 4, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key change 2`] = ` +ReactStatistics { + "componentsEvaluated": 4, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key change 3`] = ` +ReactStatistics { + "componentsEvaluated": 4, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key change 4`] = ` +ReactStatistics { + "componentsEvaluated": 4, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key change with fragments 1`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "React.Fragment", + "status": "NORMAL", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key change with fragments 2`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "React.Fragment", + "status": "NORMAL", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key change with fragments 3`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "React.Fragment", + "status": "NORMAL", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key change with fragments 4`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "React.Fragment", + "status": "NORMAL", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key nesting 1`] = ` +ReactStatistics { + "componentsEvaluated": 6, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "MessagePane", + "status": "INLINED", + }, + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "SettingsPane", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key nesting 2`] = ` +ReactStatistics { + "componentsEvaluated": 6, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "MessagePane", + "status": "INLINED", + }, + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "SettingsPane", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key nesting 2 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Key nesting 2 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Key nesting 2 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Key nesting 2 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Key nesting 3`] = ` +ReactStatistics { + "componentsEvaluated": 6, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "MessagePane", + "status": "INLINED", + }, + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "SettingsPane", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key nesting 3 1`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Key nesting 3 2`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Key nesting 3 3`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Key nesting 3 4`] = ` +ReactStatistics { + "componentsEvaluated": 3, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + Object { + "children": Array [], + "message": "", + "name": "Child", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Key nesting 4`] = ` +ReactStatistics { + "componentsEvaluated": 6, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "MessagePane", + "status": "INLINED", + }, + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "SettingsPane", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 2, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key not changing with fragments 1`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "React.Fragment", + "status": "NORMAL", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key not changing with fragments 2`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "React.Fragment", + "status": "NORMAL", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key not changing with fragments 3`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "React.Fragment", + "status": "NORMAL", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Key not changing with fragments 4`] = ` +ReactStatistics { + "componentsEvaluated": 5, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "React.Fragment", + "status": "NORMAL", + }, + Object { + "children": Array [], + "message": "", + "name": "Stateful", + "status": "NEW_TREE", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 2, +} +`; + +exports[`Lazy branched elements 1`] = ` +ReactStatistics { + "componentsEvaluated": 1, + "evaluatedRootNodes": Array [ + Object { + "children": Array [], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Lazy branched elements 2`] = ` +ReactStatistics { + "componentsEvaluated": 1, + "evaluatedRootNodes": Array [ + Object { + "children": Array [], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Lazy branched elements 2 1`] = ` +ReactStatistics { + "componentsEvaluated": 2, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Button", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 1, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Lazy branched elements 2 2`] = ` +ReactStatistics { + "componentsEvaluated": 2, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Button", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 1, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Lazy branched elements 2 3`] = ` +ReactStatistics { + "componentsEvaluated": 2, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Button", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 1, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Lazy branched elements 2 4`] = ` +ReactStatistics { + "componentsEvaluated": 2, + "evaluatedRootNodes": Array [ + Object { + "children": Array [ + Object { + "children": Array [], + "message": "", + "name": "Button", + "status": "INLINED", + }, + ], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 1, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Lazy branched elements 3`] = ` +ReactStatistics { + "componentsEvaluated": 1, + "evaluatedRootNodes": Array [ + Object { + "children": Array [], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`; + +exports[`Lazy branched elements 4`] = ` +ReactStatistics { + "componentsEvaluated": 1, + "evaluatedRootNodes": Array [ + Object { + "children": Array [], + "message": "", + "name": "App", + "status": "ROOT", + }, + ], + "inlinedComponents": 0, + "optimizedNestedClosures": 0, + "optimizedTrees": 1, +} +`;