12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- from typing import Optional
- import numpy as np
- from nicegui import ui
- from nicegui.testing import Screen
- def test_create_dynamically(screen: Screen):
- scene = ui.scene()
- scene_view: Optional[ui.scene_view] = None
- def create():
- nonlocal scene_view
- scene_view = ui.scene_view(scene)
- ui.button('Create', on_click=create)
- screen.open('/')
- screen.click('Create')
- screen.wait(0.5)
- assert scene_view is not None
- assert screen.selenium.execute_script(f'return getElement({scene_view.id}).scene == getElement({scene.id}).scene')
- def test_object_creation_via_context(screen: Screen):
- with ui.scene() as scene:
- scene.box()
- scene_view = ui.scene_view(scene)
- screen.open('/')
- screen.wait(1)
- assert screen.selenium.execute_script(f'return getElement({scene_view.id}).scene == getElement({scene.id}).scene')
- def test_camera_move(screen: Screen):
- with ui.scene() as scene:
- scene.box()
- scene_view = ui.scene_view(scene)
- screen.open('/')
- screen.wait(0.5)
- scene_view.move_camera(x=1, y=2, z=3, look_at_x=4, look_at_y=5, look_at_z=6, up_x=7, up_y=8, up_z=9, duration=0.0)
- screen.wait(1)
- position = screen.selenium.execute_script(f'return getElement({scene_view.id}).camera_tween._object')
- assert np.allclose(position, [1, 2, 3, 7, 8, 9, 4, 5, 6])
|