test: combine duplicated undo/redo and settings dialog E2E tests with test.step#11835
test: combine duplicated undo/redo and settings dialog E2E tests with test.step#11835christian-byrne merged 1 commit intomainfrom
Conversation
… test.step Per code review on #11210, several tests repeated the full body of a prior test as setup before asserting additional behavior. Combine the duplicate pairs into single tests with named test.step() blocks: - Ctrl+Z undo + Ctrl+Shift+Z redo (keyboardShortcutActions) - Ctrl+, opens + Escape closes settings dialog (keyboardShortcutActions) - Edit > Undo + Edit > Redo (topbarMenuCommands) Fixes #11556
📝 WalkthroughWalkthroughTwo E2E test files are refactored to eliminate duplicated setup logic by combining related tests into single tests using Playwright's ChangesTest Refactoring for Duplicate Setup Elimination
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 7✅ Passed checks (7 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
🎭 Playwright: ✅ 1462 passed, 0 failed · 1 flaky📊 Browser Reports
|
📦 Bundle: 5.25 MB gzip 🔴 +34 BDetailsSummary
Category Glance App Entry Points — 22.6 kB (baseline 22.6 kB) • ⚪ 0 BMain entry bundles and manifests
Status: 1 added / 1 removed Graph Workspace — 1.24 MB (baseline 1.24 MB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration
Status: 1 added / 1 removed Views & Navigation — 81.8 kB (baseline 81.8 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces
Status: 9 added / 9 removed / 2 unchanged Panels & Settings — 489 kB (baseline 489 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens
Status: 10 added / 10 removed / 11 unchanged User & Accounts — 17.5 kB (baseline 17.5 kB) • ⚪ 0 BAuthentication, profile, and account management bundles
Status: 5 added / 5 removed / 2 unchanged Editors & Dialogs — 112 kB (baseline 112 kB) • ⚪ 0 BModals, dialogs, drawers, and in-app editors
Status: 4 added / 4 removed UI Components — 62.9 kB (baseline 62.9 kB) • ⚪ 0 BReusable component library chunks
Status: 5 added / 5 removed / 9 unchanged Data & Services — 3.04 MB (baseline 3.04 MB) • ⚪ 0 BStores, services, APIs, and repositories
Status: 13 added / 13 removed / 4 unchanged Utilities & Hooks — 365 kB (baseline 365 kB) • ⚪ 0 BHelpers, composables, and utility bundles
Status: 13 added / 13 removed / 18 unchanged Vendor & Third-Party — 9.94 MB (baseline 9.94 MB) • ⚪ 0 BExternal libraries and shared vendor chunks Status: 16 unchanged Other — 8.84 MB (baseline 8.84 MB) • ⚪ 0 BBundles that do not match a named category
Status: 57 added / 57 removed / 78 unchanged ⚡ Performance Report
All metrics
Historical variance (last 15 runs)
Trend (last 15 commits on main)
Raw data{
"timestamp": "2026-05-02T07:04:56.620Z",
"gitSha": "966bef05e3b59185a73ecede42afb977dadc056e",
"branch": "batch-dispatch/cr-11556",
"measurements": [
{
"name": "canvas-idle",
"durationMs": 2024.6809999999869,
"styleRecalcs": 9,
"styleRecalcDurationMs": 7.441999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 336.74899999999997,
"heapDeltaBytes": 23038328,
"heapUsedBytes": 71709932,
"domNodes": 17,
"jsHeapTotalBytes": 14680064,
"scriptDurationMs": 16.442999999999998,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-idle",
"durationMs": 2058.1869999999753,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.318000000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 380.36899999999997,
"heapDeltaBytes": -4692376,
"heapUsedBytes": 43639852,
"domNodes": -264,
"jsHeapTotalBytes": 14807040,
"scriptDurationMs": 15.696999999999996,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-idle",
"durationMs": 2003.227000000038,
"styleRecalcs": 10,
"styleRecalcDurationMs": 9.325,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 329.938,
"heapDeltaBytes": 23077236,
"heapUsedBytes": 71751608,
"domNodes": 20,
"jsHeapTotalBytes": 14680064,
"scriptDurationMs": 15.119999999999997,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1922.8559999999106,
"styleRecalcs": 75,
"styleRecalcDurationMs": 43.241,
"layouts": 12,
"layoutDurationMs": 4.031,
"taskDurationMs": 805.141,
"heapDeltaBytes": 18660284,
"heapUsedBytes": 68056760,
"domNodes": 57,
"jsHeapTotalBytes": 15728640,
"scriptDurationMs": 127.191,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-mouse-sweep",
"durationMs": 2001.8089999999802,
"styleRecalcs": 78,
"styleRecalcDurationMs": 38.908,
"layouts": 12,
"layoutDurationMs": 3.098,
"taskDurationMs": 954.134,
"heapDeltaBytes": -590780,
"heapUsedBytes": 48049228,
"domNodes": -263,
"jsHeapTotalBytes": 16379904,
"scriptDurationMs": 125.03500000000001,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1799.036000000001,
"styleRecalcs": 73,
"styleRecalcDurationMs": 34.985,
"layouts": 12,
"layoutDurationMs": 6.074,
"taskDurationMs": 786.249,
"heapDeltaBytes": 4065756,
"heapUsedBytes": 52762176,
"domNodes": -264,
"jsHeapTotalBytes": 15593472,
"scriptDurationMs": 126.06200000000001,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1726.2779999999793,
"styleRecalcs": 34,
"styleRecalcDurationMs": 17.637,
"layouts": 6,
"layoutDurationMs": 0.6899999999999998,
"taskDurationMs": 292.902,
"heapDeltaBytes": 548652,
"heapUsedBytes": 49472768,
"domNodes": 81,
"jsHeapTotalBytes": 14680064,
"scriptDurationMs": 24.230999999999998,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1721.0890000000063,
"styleRecalcs": 32,
"styleRecalcDurationMs": 17.334,
"layouts": 6,
"layoutDurationMs": 0.6250000000000001,
"taskDurationMs": 286.613,
"heapDeltaBytes": 158684,
"heapUsedBytes": 48497280,
"domNodes": 77,
"jsHeapTotalBytes": 14942208,
"scriptDurationMs": 18.071000000000005,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1717.486000000008,
"styleRecalcs": 31,
"styleRecalcDurationMs": 15.238,
"layouts": 6,
"layoutDurationMs": 0.5239999999999999,
"taskDurationMs": 287.98400000000004,
"heapDeltaBytes": 213364,
"heapUsedBytes": 48529548,
"domNodes": 75,
"jsHeapTotalBytes": 15204352,
"scriptDurationMs": 17.560000000000002,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "dom-widget-clipping",
"durationMs": 505.34400000003643,
"styleRecalcs": 10,
"styleRecalcDurationMs": 6.324000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 315.604,
"heapDeltaBytes": 8448688,
"heapUsedBytes": 57109068,
"domNodes": 16,
"jsHeapTotalBytes": 16252928,
"scriptDurationMs": 56.659000000000006,
"eventListeners": 2,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.669999999999998,
"p95FrameDurationMs": 16.799999999999727
},
{
"name": "dom-widget-clipping",
"durationMs": 538.84800000003,
"styleRecalcs": 11,
"styleRecalcDurationMs": 8.708,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 333.87999999999994,
"heapDeltaBytes": 8833540,
"heapUsedBytes": 57445572,
"domNodes": 18,
"jsHeapTotalBytes": 15204352,
"scriptDurationMs": 60.800000000000004,
"eventListeners": 0,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "dom-widget-clipping",
"durationMs": 527.1020000000135,
"styleRecalcs": 11,
"styleRecalcDurationMs": 8.095,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 317.547,
"heapDeltaBytes": 8531008,
"heapUsedBytes": 57139328,
"domNodes": 18,
"jsHeapTotalBytes": 15990784,
"scriptDurationMs": 55.54099999999999,
"eventListeners": 0,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "large-graph-idle",
"durationMs": 2021.4930000000777,
"styleRecalcs": 11,
"styleRecalcDurationMs": 10.176,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 521.9769999999999,
"heapDeltaBytes": 2660348,
"heapUsedBytes": 59858008,
"domNodes": -261,
"jsHeapTotalBytes": 5795840,
"scriptDurationMs": 93.226,
"eventListeners": -127,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-idle",
"durationMs": 2018.891999999937,
"styleRecalcs": 10,
"styleRecalcDurationMs": 9.011000000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 526.954,
"heapDeltaBytes": 9828640,
"heapUsedBytes": 67729436,
"domNodes": -257,
"jsHeapTotalBytes": 4018176,
"scriptDurationMs": 96.85199999999999,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-idle",
"durationMs": 2039.4770000000335,
"styleRecalcs": 9,
"styleRecalcDurationMs": 9.513999999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 533.2750000000001,
"heapDeltaBytes": 5328712,
"heapUsedBytes": 63303496,
"domNodes": -261,
"jsHeapTotalBytes": 815104,
"scriptDurationMs": 91.896,
"eventListeners": -127,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-pan",
"durationMs": 2115.44600000002,
"styleRecalcs": 68,
"styleRecalcDurationMs": 16.741999999999997,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1055.04,
"heapDeltaBytes": 25425236,
"heapUsedBytes": 84866456,
"domNodes": -266,
"jsHeapTotalBytes": 5738496,
"scriptDurationMs": 384.432,
"eventListeners": -127,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-pan",
"durationMs": 2137.6430000000255,
"styleRecalcs": 68,
"styleRecalcDurationMs": 17.213,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1046.767,
"heapDeltaBytes": 10491980,
"heapUsedBytes": 69739820,
"domNodes": -263,
"jsHeapTotalBytes": 5738496,
"scriptDurationMs": 379.718,
"eventListeners": -157,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "large-graph-pan",
"durationMs": 2160.4939999999715,
"styleRecalcs": 68,
"styleRecalcDurationMs": 16.949,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1135.829,
"heapDeltaBytes": 7267204,
"heapUsedBytes": 66822096,
"domNodes": -264,
"jsHeapTotalBytes": 495616,
"scriptDurationMs": 445.78200000000004,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-zoom",
"durationMs": 3147.99000000005,
"styleRecalcs": 64,
"styleRecalcDurationMs": 15.92,
"layouts": 60,
"layoutDurationMs": 6.752,
"taskDurationMs": 1299.215,
"heapDeltaBytes": 10243648,
"heapUsedBytes": 71033348,
"domNodes": -268,
"jsHeapTotalBytes": 1339392,
"scriptDurationMs": 494.39900000000006,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3133.8950000000523,
"styleRecalcs": 65,
"styleRecalcDurationMs": 17.150999999999996,
"layouts": 60,
"layoutDurationMs": 6.985999999999999,
"taskDurationMs": 1327.003,
"heapDeltaBytes": 9345664,
"heapUsedBytes": 70465632,
"domNodes": -266,
"jsHeapTotalBytes": 5271552,
"scriptDurationMs": 514.7810000000001,
"eventListeners": -123,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-zoom",
"durationMs": 3117.6479999999174,
"styleRecalcs": 65,
"styleRecalcDurationMs": 17.567999999999998,
"layouts": 60,
"layoutDurationMs": 7.0889999999999995,
"taskDurationMs": 1296.792,
"heapDeltaBytes": 8652084,
"heapUsedBytes": 69468956,
"domNodes": -267,
"jsHeapTotalBytes": 815104,
"scriptDurationMs": 475.58,
"eventListeners": -123,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "minimap-idle",
"durationMs": 2038.895000000025,
"styleRecalcs": 9,
"styleRecalcDurationMs": 8.890000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 520.4839999999999,
"heapDeltaBytes": 3728648,
"heapUsedBytes": 63618920,
"domNodes": -265,
"jsHeapTotalBytes": 28672,
"scriptDurationMs": 89.171,
"eventListeners": -127,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "minimap-idle",
"durationMs": 2020.5120000000534,
"styleRecalcs": 8,
"styleRecalcDurationMs": 8.293999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 501.81600000000003,
"heapDeltaBytes": 4395300,
"heapUsedBytes": 64201988,
"domNodes": -263,
"jsHeapTotalBytes": 552960,
"scriptDurationMs": 85.632,
"eventListeners": -127,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "minimap-idle",
"durationMs": 2037.4379999998382,
"styleRecalcs": 9,
"styleRecalcDurationMs": 8.881,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 536.332,
"heapDeltaBytes": 13643252,
"heapUsedBytes": 74085348,
"domNodes": -259,
"jsHeapTotalBytes": 290816,
"scriptDurationMs": 94.02300000000001,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 531.8070000000716,
"styleRecalcs": 45,
"styleRecalcDurationMs": 9.717,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 343.29299999999995,
"heapDeltaBytes": 9091668,
"heapUsedBytes": 57726164,
"domNodes": 16,
"jsHeapTotalBytes": 16515072,
"scriptDurationMs": 118.362,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.669999999999998,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 590.1000000000067,
"styleRecalcs": 47,
"styleRecalcDurationMs": 10.743999999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 357.34900000000005,
"heapDeltaBytes": 9634812,
"heapUsedBytes": 59310956,
"domNodes": 20,
"jsHeapTotalBytes": 15728640,
"scriptDurationMs": 118.726,
"eventListeners": 8,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.669999999999998,
"p95FrameDurationMs": 16.799999999999727
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 548.4169999999722,
"styleRecalcs": 47,
"styleRecalcDurationMs": 10.756,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 346.20799999999997,
"heapDeltaBytes": 9467564,
"heapUsedBytes": 59297232,
"domNodes": 20,
"jsHeapTotalBytes": 14942208,
"scriptDurationMs": 117.95499999999998,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "subgraph-idle",
"durationMs": 1993.6620000000858,
"styleRecalcs": 9,
"styleRecalcDurationMs": 7.883999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 321.98099999999994,
"heapDeltaBytes": 22402392,
"heapUsedBytes": 70931936,
"domNodes": 18,
"jsHeapTotalBytes": 15204352,
"scriptDurationMs": 13.682000000000002,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "subgraph-idle",
"durationMs": 2022.560999999996,
"styleRecalcs": 10,
"styleRecalcDurationMs": 8.855000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 321.78499999999997,
"heapDeltaBytes": 22578344,
"heapUsedBytes": 71211444,
"domNodes": 19,
"jsHeapTotalBytes": 14680064,
"scriptDurationMs": 13.847999999999999,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-idle",
"durationMs": 2003.518999999983,
"styleRecalcs": 9,
"styleRecalcDurationMs": 8.152,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 326.27700000000004,
"heapDeltaBytes": 22247204,
"heapUsedBytes": 70645468,
"domNodes": 18,
"jsHeapTotalBytes": 15204352,
"scriptDurationMs": 13.01,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66999999999998,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1691.7770000000019,
"styleRecalcs": 76,
"styleRecalcDurationMs": 35.153999999999996,
"layouts": 16,
"layoutDurationMs": 4.208,
"taskDurationMs": 673.377,
"heapDeltaBytes": 395744,
"heapUsedBytes": 49246048,
"domNodes": -262,
"jsHeapTotalBytes": 14282752,
"scriptDurationMs": 89.199,
"eventListeners": -129,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1718.727000000058,
"styleRecalcs": 76,
"styleRecalcDurationMs": 37.93000000000001,
"layouts": 16,
"layoutDurationMs": 4.358,
"taskDurationMs": 669.027,
"heapDeltaBytes": -6921656,
"heapUsedBytes": 59082848,
"domNodes": 63,
"jsHeapTotalBytes": 20279296,
"scriptDurationMs": 89.02499999999999,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1699.1780000000745,
"styleRecalcs": 74,
"styleRecalcDurationMs": 35.13099999999999,
"layouts": 16,
"layoutDurationMs": 3.9259999999999997,
"taskDurationMs": 682.699,
"heapDeltaBytes": -4451432,
"heapUsedBytes": 43769344,
"domNodes": -263,
"jsHeapTotalBytes": 15331328,
"scriptDurationMs": 87.373,
"eventListeners": -131,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8114.44199999994,
"styleRecalcs": 250,
"styleRecalcDurationMs": 49.98100000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 3604.548,
"heapDeltaBytes": 15833528,
"heapUsedBytes": 73473164,
"domNodes": -260,
"jsHeapTotalBytes": 2592768,
"scriptDurationMs": 1238.9730000000002,
"eventListeners": -111,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8203.015999999934,
"styleRecalcs": 251,
"styleRecalcDurationMs": 50.885,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 3811.037,
"heapDeltaBytes": 18184220,
"heapUsedBytes": 74876224,
"domNodes": -256,
"jsHeapTotalBytes": 10194944,
"scriptDurationMs": 1375.723,
"eventListeners": -111,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8178.107000000182,
"styleRecalcs": 250,
"styleRecalcDurationMs": 50.107000000000006,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 3813.8010000000004,
"heapDeltaBytes": 17607588,
"heapUsedBytes": 74707444,
"domNodes": -263,
"jsHeapTotalBytes": 5476352,
"scriptDurationMs": 1383.8650000000002,
"eventListeners": -111,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-idle",
"durationMs": 12131.541999999969,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 12095.675,
"heapDeltaBytes": -30915344,
"heapUsedBytes": 172626240,
"domNodes": -3333,
"jsHeapTotalBytes": -7540736,
"scriptDurationMs": 628.212,
"eventListeners": -16462,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-idle",
"durationMs": 12264.58100000002,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 12244.601,
"heapDeltaBytes": -17774104,
"heapUsedBytes": 185538968,
"domNodes": -8335,
"jsHeapTotalBytes": -18812928,
"scriptDurationMs": 622.833,
"eventListeners": -16462,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-idle",
"durationMs": 11773.058999999876,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 11763.272,
"heapDeltaBytes": -32446168,
"heapUsedBytes": 171274924,
"domNodes": -8331,
"jsHeapTotalBytes": 23654400,
"scriptDurationMs": 586.069,
"eventListeners": -16462,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.219999999999953,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-pan",
"durationMs": 13777.950000000033,
"styleRecalcs": 65,
"styleRecalcDurationMs": 15.369999999999994,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 13756.634,
"heapDeltaBytes": -48752448,
"heapUsedBytes": 161102460,
"domNodes": -8331,
"jsHeapTotalBytes": 13692928,
"scriptDurationMs": 858.555,
"eventListeners": -16460,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-pan",
"durationMs": 14273.235,
"styleRecalcs": 68,
"styleRecalcDurationMs": 15.849000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 14243.609,
"heapDeltaBytes": -32295572,
"heapUsedBytes": 176030212,
"domNodes": -8335,
"jsHeapTotalBytes": -1073152,
"scriptDurationMs": 903.1740000000001,
"eventListeners": -16488,
"totalBlockingTimeMs": 31,
"frameDurationMs": 17.223333333333358,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-pan",
"durationMs": 14111.302999999907,
"styleRecalcs": 65,
"styleRecalcDurationMs": 15.54899999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 14092.702,
"heapDeltaBytes": -35150380,
"heapUsedBytes": 160429524,
"domNodes": -8331,
"jsHeapTotalBytes": 14479360,
"scriptDurationMs": 861.0859999999999,
"eventListeners": -16462,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.219999999999953,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "workflow-execution",
"durationMs": 477.1859999999606,
"styleRecalcs": 23,
"styleRecalcDurationMs": 25.230000000000004,
"layouts": 5,
"layoutDurationMs": 1.7100000000000002,
"taskDurationMs": 134.71999999999997,
"heapDeltaBytes": 5478024,
"heapUsedBytes": 55561240,
"domNodes": 192,
"jsHeapTotalBytes": 524288,
"scriptDurationMs": 26.722999999999995,
"eventListeners": 69,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.663333333333338,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "workflow-execution",
"durationMs": 482.5660000000198,
"styleRecalcs": 21,
"styleRecalcDurationMs": 22.411,
"layouts": 4,
"layoutDurationMs": 1.3650000000000002,
"taskDurationMs": 123.59800000000001,
"heapDeltaBytes": 5244160,
"heapUsedBytes": 55310800,
"domNodes": 181,
"jsHeapTotalBytes": 0,
"scriptDurationMs": 27.684,
"eventListeners": 69,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "workflow-execution",
"durationMs": 467.9960000000847,
"styleRecalcs": 20,
"styleRecalcDurationMs": 22.968,
"layouts": 5,
"layoutDurationMs": 1.4500000000000002,
"taskDurationMs": 115.872,
"heapDeltaBytes": 5114076,
"heapUsedBytes": 56326940,
"domNodes": 177,
"jsHeapTotalBytes": 0,
"scriptDurationMs": 21.884,
"eventListeners": 69,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999727
}
]
} |
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #11835 +/- ##
===========================================
- Coverage 71.66% 55.42% -16.24%
===========================================
Files 1491 1382 -109
Lines 86124 70572 -15552
Branches 23274 19662 -3612
===========================================
- Hits 61718 39117 -22601
- Misses 23536 30928 +7392
+ Partials 870 527 -343
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
jaeone94
left a comment
There was a problem hiding this comment.
I did not find any major blockers in this PR, and all E2E tests are passing.
Summary
Refactor E2E tests added in #11210 that repeated full prior-test bodies as setup, combining duplicate pairs into single tests with named
test.step()blocks.Changes
browser_tests/tests/keyboardShortcutActions.spec.ts:Ctrl+Z undoes+Ctrl+Shift+Z redoes→ single test with twotest.step()blocks.Ctrl+, opens settings dialog+Escape closes settings dialog→ single test with twotest.step()blocks.browser_tests/tests/topbarMenuCommands.spec.ts:Edit > Undo+Edit > Redo→ single test with twotest.step()blocks.The redo step now reuses the post-undo state from its preceding step instead of re-creating and re-undoing the node, removing the duplicated setup the reviewer flagged.
Review Focus
test.step()labels.Escape closes settings dialogtest (which duplicated theCtrl+,test body), not theDeletetest (which has unique logic). Treated accordingly.Fixes #11556
┆Issue is synchronized with this Notion page by Unito