Extreme time eaten by gizmo test fixes. All passing now.
This commit is contained in:
		@ -52,11 +52,10 @@ export class SceneFixture {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  expectState = async (expected: SceneSerialised) => {
 | 
			
		||||
    return expect
 | 
			
		||||
      .poll(() => this._serialiseScene(), {
 | 
			
		||||
        message: `Expected scene state to match`,
 | 
			
		||||
      })
 | 
			
		||||
      .toEqual(expected)
 | 
			
		||||
    return expect.poll(async () => await this._serialiseScene(), {
 | 
			
		||||
      intervals: [1_000, 2_000, 10_000],
 | 
			
		||||
      timeout: 60000,
 | 
			
		||||
    }).toEqual(expected)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  reConstruct = (page: Page) => {
 | 
			
		||||
@ -187,7 +186,10 @@ export class SceneFixture {
 | 
			
		||||
        type: 'default_camera_get_settings',
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
    await this.waitForExecutionDone()
 | 
			
		||||
    await this.page
 | 
			
		||||
      .locator(`[data-receive-command-type="default_camera_get_settings"]`)
 | 
			
		||||
      .first()
 | 
			
		||||
      .waitFor()
 | 
			
		||||
    const position = await Promise.all([
 | 
			
		||||
      this.page.getByTestId('cam-x-position').inputValue().then(Number),
 | 
			
		||||
      this.page.getByTestId('cam-y-position').inputValue().then(Number),
 | 
			
		||||
@ -222,6 +224,7 @@ export class SceneFixture {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  async clickGizmoMenuItem(name: string) {
 | 
			
		||||
    await this.gizmo.hover()
 | 
			
		||||
    await this.gizmo.click({ button: 'right' })
 | 
			
		||||
    const buttonToTest = this.page.getByRole('button', {
 | 
			
		||||
      name: name,
 | 
			
		||||
 | 
			
		||||
@ -98,12 +98,16 @@ async function removeCurrentCode(page: Page) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export async function sendCustomCmd(page: Page, cmd: EngineCommand) {
 | 
			
		||||
  await page.getByTestId('custom-cmd-input').fill(JSON.stringify(cmd))
 | 
			
		||||
  const json = JSON.stringify(cmd)
 | 
			
		||||
  await page.getByTestId('custom-cmd-input').fill(json)
 | 
			
		||||
  await expect(page.getByTestId('custom-cmd-input')).toHaveValue(json)
 | 
			
		||||
  await page.getByTestId('custom-cmd-send-button').scrollIntoViewIfNeeded()
 | 
			
		||||
  await page.getByTestId('custom-cmd-send-button').click({ delay: 1000 })
 | 
			
		||||
  await page.getByTestId('custom-cmd-send-button').click()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async function clearCommandLogs(page: Page) {
 | 
			
		||||
  await page.getByTestId('custom-cmd-input').fill('')
 | 
			
		||||
  await page.getByTestId('clear-commands').scrollIntoViewIfNeeded()
 | 
			
		||||
  await page.getByTestId('clear-commands').click()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,18 +1,11 @@
 | 
			
		||||
import { _test, _expect } from './playwright-deprecated'
 | 
			
		||||
import { test } from './fixtures/fixtureSetup'
 | 
			
		||||
import { getUtils, setup, tearDown } from './test-utils'
 | 
			
		||||
import { test, expect } from './zoo-test'
 | 
			
		||||
import { getUtils, executorInputPath } from './test-utils'
 | 
			
		||||
import { uuidv4 } from 'lib/utils'
 | 
			
		||||
import { TEST_CODE_GIZMO } from './storageStates'
 | 
			
		||||
import path from 'node:path'
 | 
			
		||||
import fsp from 'fs/promises'
 | 
			
		||||
 | 
			
		||||
_test.beforeEach(async ({ context, page }, testInfo) => {
 | 
			
		||||
  await setup(context, page, testInfo)
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
_test.afterEach(async ({ page }, testInfo) => {
 | 
			
		||||
  await tearDown(page, testInfo)
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
_test.describe('Testing Gizmo', () => {
 | 
			
		||||
test.describe('Testing Gizmo', () => {
 | 
			
		||||
  const cases = [
 | 
			
		||||
    {
 | 
			
		||||
      testDescription: 'top view',
 | 
			
		||||
@ -57,104 +50,17 @@ _test.describe('Testing Gizmo', () => {
 | 
			
		||||
    expectedCameraTarget,
 | 
			
		||||
    testDescription,
 | 
			
		||||
  } of cases) {
 | 
			
		||||
    _test(`check ${testDescription}`, async ({ page, browserName }) => {
 | 
			
		||||
    test(`check ${testDescription}`, async ({ page, homePage }) => {
 | 
			
		||||
      const u = await getUtils(page)
 | 
			
		||||
      await page.addInitScript((TEST_CODE_GIZMO) => {
 | 
			
		||||
        localStorage.setItem('persistCode', TEST_CODE_GIZMO)
 | 
			
		||||
      }, TEST_CODE_GIZMO)
 | 
			
		||||
      await page.setViewportSize({ width: 1000, height: 500 })
 | 
			
		||||
 | 
			
		||||
      await u.waitForAuthSkipAppStart()
 | 
			
		||||
      await page.waitForTimeout(100)
 | 
			
		||||
      // wait for execution done
 | 
			
		||||
      await u.openDebugPanel()
 | 
			
		||||
      await u.expectCmdLog('[data-message-type="execution-done"]')
 | 
			
		||||
      await u.sendCustomCmd({
 | 
			
		||||
        type: 'modeling_cmd_req',
 | 
			
		||||
        cmd_id: uuidv4(),
 | 
			
		||||
        cmd: {
 | 
			
		||||
          type: 'default_camera_look_at',
 | 
			
		||||
          vantage: {
 | 
			
		||||
            x: 3000,
 | 
			
		||||
            y: 3000,
 | 
			
		||||
            z: 3000,
 | 
			
		||||
          },
 | 
			
		||||
          center: {
 | 
			
		||||
            x: 800,
 | 
			
		||||
            y: -152,
 | 
			
		||||
            z: 26,
 | 
			
		||||
          },
 | 
			
		||||
          up: { x: 0, y: 0, z: 1 },
 | 
			
		||||
        },
 | 
			
		||||
      })
 | 
			
		||||
      await page.waitForTimeout(100)
 | 
			
		||||
      await u.clearCommandLogs()
 | 
			
		||||
      await u.sendCustomCmd({
 | 
			
		||||
        type: 'modeling_cmd_req',
 | 
			
		||||
        cmd_id: uuidv4(),
 | 
			
		||||
        cmd: {
 | 
			
		||||
          type: 'default_camera_get_settings',
 | 
			
		||||
        },
 | 
			
		||||
      })
 | 
			
		||||
      await u.waitForCmdReceive('default_camera_get_settings')
 | 
			
		||||
 | 
			
		||||
      await u.clearCommandLogs()
 | 
			
		||||
      await page.mouse.move(clickPosition.x, clickPosition.y)
 | 
			
		||||
      await page.waitForTimeout(100)
 | 
			
		||||
      await page.mouse.click(clickPosition.x, clickPosition.y)
 | 
			
		||||
      await page.mouse.move(0, 0)
 | 
			
		||||
      await u.waitForCmdReceive('default_camera_look_at')
 | 
			
		||||
      await u.clearCommandLogs()
 | 
			
		||||
 | 
			
		||||
      await u.sendCustomCmd({
 | 
			
		||||
        type: 'modeling_cmd_req',
 | 
			
		||||
        cmd_id: uuidv4(),
 | 
			
		||||
        cmd: {
 | 
			
		||||
          type: 'default_camera_get_settings',
 | 
			
		||||
        },
 | 
			
		||||
      })
 | 
			
		||||
      await u.waitForCmdReceive('default_camera_get_settings')
 | 
			
		||||
 | 
			
		||||
      await Promise.all([
 | 
			
		||||
        // position
 | 
			
		||||
        _expect(page.getByTestId('cam-x-position')).toHaveValue(
 | 
			
		||||
          expectedCameraPosition.x.toString()
 | 
			
		||||
        ),
 | 
			
		||||
        _expect(page.getByTestId('cam-y-position')).toHaveValue(
 | 
			
		||||
          expectedCameraPosition.y.toString()
 | 
			
		||||
        ),
 | 
			
		||||
        _expect(page.getByTestId('cam-z-position')).toHaveValue(
 | 
			
		||||
          expectedCameraPosition.z.toString()
 | 
			
		||||
        ),
 | 
			
		||||
        // target
 | 
			
		||||
        _expect(page.getByTestId('cam-x-target')).toHaveValue(
 | 
			
		||||
          expectedCameraTarget.x.toString()
 | 
			
		||||
        ),
 | 
			
		||||
        _expect(page.getByTestId('cam-y-target')).toHaveValue(
 | 
			
		||||
          expectedCameraTarget.y.toString()
 | 
			
		||||
        ),
 | 
			
		||||
        _expect(page.getByTestId('cam-z-target')).toHaveValue(
 | 
			
		||||
          expectedCameraTarget.z.toString()
 | 
			
		||||
        ),
 | 
			
		||||
      ])
 | 
			
		||||
    })
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  _test('Context menu and popover menu', async ({ page }) => {
 | 
			
		||||
    const testCase = {
 | 
			
		||||
      testDescription: 'Right view',
 | 
			
		||||
      expectedCameraPosition: { x: 5660.02, y: -152, z: 26 },
 | 
			
		||||
      expectedCameraTarget: { x: 800, y: -152, z: 26 },
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Test prelude taken from the above test
 | 
			
		||||
    const u = await getUtils(page)
 | 
			
		||||
    await page.addInitScript((TEST_CODE_GIZMO) => {
 | 
			
		||||
      localStorage.setItem('persistCode', TEST_CODE_GIZMO)
 | 
			
		||||
    }, TEST_CODE_GIZMO)
 | 
			
		||||
    await page.setViewportSize({ width: 1000, height: 500 })
 | 
			
		||||
    
 | 
			
		||||
    await page.setBodyDimensions({ width: 1000, height: 500 })
 | 
			
		||||
 | 
			
		||||
    await homePage.goToModelingScene()
 | 
			
		||||
    await u.waitForPageLoad()
 | 
			
		||||
 | 
			
		||||
    await u.waitForAuthSkipAppStart()
 | 
			
		||||
    await page.waitForTimeout(100)
 | 
			
		||||
    // wait for execution done
 | 
			
		||||
    await u.openDebugPanel()
 | 
			
		||||
@ -187,22 +93,15 @@ _test.describe('Testing Gizmo', () => {
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
    await u.waitForCmdReceive('default_camera_get_settings')
 | 
			
		||||
 | 
			
		||||
    // Now find and select the correct
 | 
			
		||||
    // view from the context menu
 | 
			
		||||
    
 | 
			
		||||
    await u.clearCommandLogs()
 | 
			
		||||
    const gizmo = page.locator('[aria-label*=gizmo]')
 | 
			
		||||
    await gizmo.click({ button: 'right' })
 | 
			
		||||
    const buttonToTest = page.getByRole('button', {
 | 
			
		||||
      name: testCase.testDescription,
 | 
			
		||||
    })
 | 
			
		||||
    await _expect(buttonToTest).toBeVisible()
 | 
			
		||||
    await buttonToTest.click()
 | 
			
		||||
 | 
			
		||||
    // Now assert we've moved to the correct view
 | 
			
		||||
    // Taken from the above test
 | 
			
		||||
    await page.mouse.move(clickPosition.x, clickPosition.y)
 | 
			
		||||
    await page.waitForTimeout(100)
 | 
			
		||||
    await page.mouse.click(clickPosition.x, clickPosition.y)
 | 
			
		||||
    await page.mouse.move(0, 0)
 | 
			
		||||
    await u.waitForCmdReceive('default_camera_look_at')
 | 
			
		||||
 | 
			
		||||
    await u.clearCommandLogs()
 | 
			
		||||
    
 | 
			
		||||
    await u.sendCustomCmd({
 | 
			
		||||
      type: 'modeling_cmd_req',
 | 
			
		||||
      cmd_id: uuidv4(),
 | 
			
		||||
@ -211,63 +110,181 @@ _test.describe('Testing Gizmo', () => {
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
    await u.waitForCmdReceive('default_camera_get_settings')
 | 
			
		||||
    await page.waitForTimeout(400)
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    await Promise.all([
 | 
			
		||||
      // position
 | 
			
		||||
      _expect(page.getByTestId('cam-x-position')).toHaveValue(
 | 
			
		||||
        testCase.expectedCameraPosition.x.toString()
 | 
			
		||||
      expect(page.getByTestId('cam-x-position')).toHaveValue(
 | 
			
		||||
        expectedCameraPosition.x.toString()
 | 
			
		||||
      ),
 | 
			
		||||
      _expect(page.getByTestId('cam-y-position')).toHaveValue(
 | 
			
		||||
        testCase.expectedCameraPosition.y.toString()
 | 
			
		||||
      expect(page.getByTestId('cam-y-position')).toHaveValue(
 | 
			
		||||
        expectedCameraPosition.y.toString()
 | 
			
		||||
      ),
 | 
			
		||||
      _expect(page.getByTestId('cam-z-position')).toHaveValue(
 | 
			
		||||
        testCase.expectedCameraPosition.z.toString()
 | 
			
		||||
      expect(page.getByTestId('cam-z-position')).toHaveValue(
 | 
			
		||||
        expectedCameraPosition.z.toString()
 | 
			
		||||
      ),
 | 
			
		||||
      // target
 | 
			
		||||
      _expect(page.getByTestId('cam-x-target')).toHaveValue(
 | 
			
		||||
        testCase.expectedCameraTarget.x.toString()
 | 
			
		||||
      expect(page.getByTestId('cam-x-target')).toHaveValue(
 | 
			
		||||
        expectedCameraTarget.x.toString()
 | 
			
		||||
      ),
 | 
			
		||||
      _expect(page.getByTestId('cam-y-target')).toHaveValue(
 | 
			
		||||
        testCase.expectedCameraTarget.y.toString()
 | 
			
		||||
      expect(page.getByTestId('cam-y-target')).toHaveValue(
 | 
			
		||||
        expectedCameraTarget.y.toString()
 | 
			
		||||
      ),
 | 
			
		||||
      _expect(page.getByTestId('cam-z-target')).toHaveValue(
 | 
			
		||||
        testCase.expectedCameraTarget.z.toString()
 | 
			
		||||
      expect(page.getByTestId('cam-z-target')).toHaveValue(
 | 
			
		||||
        expectedCameraTarget.z.toString()
 | 
			
		||||
      ),
 | 
			
		||||
    ])
 | 
			
		||||
    ]) })
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
    // Now test the popover menu.
 | 
			
		||||
    // It has the same click handlers, so we can just
 | 
			
		||||
    // test that it opens and contains the same content.
 | 
			
		||||
    const gizmoPopoverButton = page.getByRole('button', {
 | 
			
		||||
      name: 'view settings',
 | 
			
		||||
    })
 | 
			
		||||
    await _expect(gizmoPopoverButton).toBeVisible()
 | 
			
		||||
    await gizmoPopoverButton.click()
 | 
			
		||||
    await _expect(buttonToTest).toBeVisible()
 | 
			
		||||
  test('Context menu and popover menu', async ({ page, homePage }) => { const testCase = {
 | 
			
		||||
    testDescription: 'Right view',
 | 
			
		||||
    expectedCameraPosition: { x: 5660.02, y: -152, z: 26 },
 | 
			
		||||
    expectedCameraTarget: { x: 800, y: -152, z: 26 },
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
  // Test prelude taken from the above test
 | 
			
		||||
  const u = await getUtils(page)
 | 
			
		||||
  await page.addInitScript((TEST_CODE_GIZMO) => {
 | 
			
		||||
    localStorage.setItem('persistCode', TEST_CODE_GIZMO)
 | 
			
		||||
  }, TEST_CODE_GIZMO)
 | 
			
		||||
  await page.setBodyDimensions({ width: 1000, height: 500 })
 | 
			
		||||
  
 | 
			
		||||
  await homePage.goToModelingScene()
 | 
			
		||||
  await page.waitForTimeout(100)
 | 
			
		||||
  // wait for execution done
 | 
			
		||||
  await u.openDebugPanel()
 | 
			
		||||
  await u.expectCmdLog('[data-message-type="execution-done"]')
 | 
			
		||||
  await u.sendCustomCmd({
 | 
			
		||||
    type: 'modeling_cmd_req',
 | 
			
		||||
    cmd_id: uuidv4(),
 | 
			
		||||
    cmd: {
 | 
			
		||||
      type: 'default_camera_look_at',
 | 
			
		||||
      vantage: {
 | 
			
		||||
        x: 3000,
 | 
			
		||||
        y: 3000,
 | 
			
		||||
        z: 3000,
 | 
			
		||||
      },
 | 
			
		||||
      center: {
 | 
			
		||||
        x: 800,
 | 
			
		||||
        y: -152,
 | 
			
		||||
        z: 26,
 | 
			
		||||
      },
 | 
			
		||||
      up: { x: 0, y: 0, z: 1 },
 | 
			
		||||
    },
 | 
			
		||||
  })
 | 
			
		||||
  await page.waitForTimeout(100)
 | 
			
		||||
  await u.clearCommandLogs()
 | 
			
		||||
  await u.sendCustomCmd({
 | 
			
		||||
    type: 'modeling_cmd_req',
 | 
			
		||||
    cmd_id: uuidv4(),
 | 
			
		||||
    cmd: {
 | 
			
		||||
      type: 'default_camera_get_settings',
 | 
			
		||||
    },
 | 
			
		||||
  })
 | 
			
		||||
  await u.waitForCmdReceive('default_camera_get_settings')
 | 
			
		||||
  
 | 
			
		||||
  // Now find and select the correct
 | 
			
		||||
  // view from the context menu
 | 
			
		||||
  await u.clearCommandLogs()
 | 
			
		||||
  const gizmo = page.locator('[aria-label*=gizmo]')
 | 
			
		||||
  await gizmo.click({ button: 'right' })
 | 
			
		||||
  const buttonToTest = page.getByRole('button', {
 | 
			
		||||
    name: testCase.testDescription,
 | 
			
		||||
  })
 | 
			
		||||
  await expect(buttonToTest).toBeVisible()
 | 
			
		||||
  await buttonToTest.click()
 | 
			
		||||
  
 | 
			
		||||
  // Now assert we've moved to the correct view
 | 
			
		||||
  // Taken from the above test
 | 
			
		||||
  await u.waitForCmdReceive('default_camera_look_at')
 | 
			
		||||
  
 | 
			
		||||
  await u.sendCustomCmd({
 | 
			
		||||
    type: 'modeling_cmd_req',
 | 
			
		||||
    cmd_id: uuidv4(),
 | 
			
		||||
    cmd: {
 | 
			
		||||
      type: 'default_camera_get_settings',
 | 
			
		||||
    },
 | 
			
		||||
  })
 | 
			
		||||
  await u.waitForCmdReceive('default_camera_get_settings')
 | 
			
		||||
  await page.waitForTimeout(400)
 | 
			
		||||
  
 | 
			
		||||
  await Promise.all([
 | 
			
		||||
    // position
 | 
			
		||||
    expect(page.getByTestId('cam-x-position')).toHaveValue(
 | 
			
		||||
      testCase.expectedCameraPosition.x.toString()
 | 
			
		||||
    ),
 | 
			
		||||
    expect(page.getByTestId('cam-y-position')).toHaveValue(
 | 
			
		||||
      testCase.expectedCameraPosition.y.toString()
 | 
			
		||||
    ),
 | 
			
		||||
    expect(page.getByTestId('cam-z-position')).toHaveValue(
 | 
			
		||||
      testCase.expectedCameraPosition.z.toString()
 | 
			
		||||
    ),
 | 
			
		||||
    // target
 | 
			
		||||
    expect(page.getByTestId('cam-x-target')).toHaveValue(
 | 
			
		||||
      testCase.expectedCameraTarget.x.toString()
 | 
			
		||||
    ),
 | 
			
		||||
    expect(page.getByTestId('cam-y-target')).toHaveValue(
 | 
			
		||||
      testCase.expectedCameraTarget.y.toString()
 | 
			
		||||
    ),
 | 
			
		||||
    expect(page.getByTestId('cam-z-target')).toHaveValue(
 | 
			
		||||
      testCase.expectedCameraTarget.z.toString()
 | 
			
		||||
    ),
 | 
			
		||||
  ])
 | 
			
		||||
  
 | 
			
		||||
  // Now test the popover menu.
 | 
			
		||||
  // It has the same click handlers, so we can just
 | 
			
		||||
  // test that it opens and contains the same content.
 | 
			
		||||
  const gizmoPopoverButton = page.getByRole('button', {
 | 
			
		||||
    name: 'view settings',
 | 
			
		||||
  })
 | 
			
		||||
  await expect(gizmoPopoverButton).toBeVisible()
 | 
			
		||||
  await gizmoPopoverButton.click()
 | 
			
		||||
  await expect(buttonToTest).toBeVisible() })
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
test.describe(`Testing gizmo, fixture-based`, () => {
 | 
			
		||||
  test('Center on selection from menu', async ({
 | 
			
		||||
    app,
 | 
			
		||||
    context,
 | 
			
		||||
    page,
 | 
			
		||||
    homePage,
 | 
			
		||||
    cmdBar,
 | 
			
		||||
    editor,
 | 
			
		||||
    toolbar,
 | 
			
		||||
    scene,
 | 
			
		||||
  }) => {
 | 
			
		||||
    test.skip(
 | 
			
		||||
      process.platform === 'win32',
 | 
			
		||||
      'Fails on windows in CI, can not be replicated locally on windows.'
 | 
			
		||||
    )
 | 
			
		||||
    await context.addInitScript(() => {
 | 
			
		||||
      localStorage.setItem('persistCode', `
 | 
			
		||||
        const sketch002 = startSketchOn('XZ')
 | 
			
		||||
          |> startProfileAt([-108.83, -57.48], %)
 | 
			
		||||
          |> angledLine([0, 105.13], %, $rectangleSegmentA001)
 | 
			
		||||
          |> angledLine([
 | 
			
		||||
               segAng(rectangleSegmentA001) - 90,
 | 
			
		||||
               77.9
 | 
			
		||||
             ], %)
 | 
			
		||||
          |> angledLine([
 | 
			
		||||
               segAng(rectangleSegmentA001),
 | 
			
		||||
               -segLen(rectangleSegmentA001)
 | 
			
		||||
             ], %)
 | 
			
		||||
          |> close(%)
 | 
			
		||||
        const sketch001 = startSketchOn('XZ')
 | 
			
		||||
          |> circle({
 | 
			
		||||
               center: [818.33, 168.1],
 | 
			
		||||
               radius: 182.8
 | 
			
		||||
             }, %)
 | 
			
		||||
          |> extrude(50, %)
 | 
			
		||||
      `)
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
    await page.setBodyDimensions({ width: 1000, height: 500 })
 | 
			
		||||
 | 
			
		||||
    await homePage.goToModelingScene()
 | 
			
		||||
    const u = await getUtils(page)
 | 
			
		||||
    await u.waitForPageLoad()
 | 
			
		||||
 | 
			
		||||
    await test.step(`Setup`, async () => {
 | 
			
		||||
      const file = await app.getInputFile('test-circle-extrude.kcl')
 | 
			
		||||
      await app.initialise(file)
 | 
			
		||||
      await scene.expectState({
 | 
			
		||||
        camera: {
 | 
			
		||||
          position: [4982.21, -23865.37, 13810.64],
 | 
			
		||||
          target: [4982.21, 0, 2737.1],
 | 
			
		||||
          position: [11912.6, -39586.98, 21391.21],
 | 
			
		||||
          target: [11912.6, -635, 3317.49],
 | 
			
		||||
        },
 | 
			
		||||
      })
 | 
			
		||||
    })
 | 
			
		||||
@ -275,7 +292,7 @@ test.describe(`Testing gizmo, fixture-based`, () => {
 | 
			
		||||
 | 
			
		||||
    await test.step(`Select an edge of this circle`, async () => {
 | 
			
		||||
      const circleSnippet =
 | 
			
		||||
        'circle({ center = [318.33, 168.1], radius = 182.8 }, %)'
 | 
			
		||||
        'circle({ center: [818.33, 168.1], radius: 182.8 }, %)'
 | 
			
		||||
      await moveToCircle()
 | 
			
		||||
      await clickCircle()
 | 
			
		||||
      await editor.expectState({
 | 
			
		||||
@ -292,8 +309,8 @@ test.describe(`Testing gizmo, fixture-based`, () => {
 | 
			
		||||
    await test.step(`Verify the camera moved`, async () => {
 | 
			
		||||
      await scene.expectState({
 | 
			
		||||
        camera: {
 | 
			
		||||
          position: [0, -23865.37, 11073.53],
 | 
			
		||||
          target: [0, 0, 0],
 | 
			
		||||
          position: [20785.58, -40221.98, 22343.46],
 | 
			
		||||
          target: [20785.58, -1270, 4269.74],
 | 
			
		||||
        },
 | 
			
		||||
      })
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
@ -52,13 +52,24 @@ export function test(desc, objOrFn, fnMaybe) {
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // Create a consistent way to resize the page across electron and web.
 | 
			
		||||
      // (lee) I had to do everyhting in the book to make electron change its
 | 
			
		||||
      // damn window size. I succeded in making it consistently and reliably
 | 
			
		||||
      // do it after a whole afternoon.
 | 
			
		||||
      tronApp.page.setBodyDimensions = async function (dims: {
 | 
			
		||||
        width: number
 | 
			
		||||
        height: number
 | 
			
		||||
      }) {
 | 
			
		||||
        return this.evaluate((dims) => {
 | 
			
		||||
        await tronApp.electronApp.evaluateHandle(async ({ app }, dims) => {
 | 
			
		||||
          await app.resizeWindow(dims.width, dims.height)
 | 
			
		||||
        }, dims)
 | 
			
		||||
 | 
			
		||||
        await tronApp.page.setViewportSize(dims)
 | 
			
		||||
        return tronApp.page.evaluate(async (dims) => {
 | 
			
		||||
          await window.electron.resizeWindow(dims.width, dims.height)
 | 
			
		||||
          window.document.body.style.width = dims.width + 'px'
 | 
			
		||||
          window.document.body.style.height = dims.height + 'px'
 | 
			
		||||
          window.document.documentElement.style.width = dims.width + 'px'
 | 
			
		||||
          window.document.documentElement.style.height = dims.height + 'px'
 | 
			
		||||
        }, dims)
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user