diff --git a/packages/ui/client/components/trace/TraceView.vue b/packages/ui/client/components/trace/TraceView.vue index e5b1cf414..2174a3514 100644 --- a/packages/ui/client/components/trace/TraceView.vue +++ b/packages/ui/client/components/trace/TraceView.vue @@ -71,6 +71,10 @@ function zoomOut() { traceZoom.value = nextZoomOut.value ?? scale.value } +function resetZoom() { + traceZoom.value = 1 +} + function fitToPane() { traceZoom.value = 'fit' } @@ -318,6 +322,13 @@ function onSplitpanesResized({ panes }: SplitpanesResizedPayload) { :disabled="nextZoomIn == null" @click="zoomIn()" /> + Math.round((await iframe.boundingBox())!.width)).toBe(414) // zoom out and persist across reloads @@ -310,6 +312,13 @@ async function testZoom(page: Page) { // zooming leaves fit mode await zoomIn.click() await expect(fitToPane).toHaveAttribute('aria-pressed', 'false') + + // reset to actual size + await fitToPane.click() + await resetZoom.click() + await expect(zoomLabel).toHaveText('414x896 · 100%') + await expect(fitToPane).toHaveAttribute('aria-pressed', 'false') + await expect(resetZoom).toBeDisabled() } async function testViewport(page: Page) {