1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- from typing import Dict, List
- from nicegui import ui
- from nicegui.elements.codemirror import _apply_change_set
- from nicegui.testing import Screen
- def test_codemirror(screen: Screen):
- ui.codemirror('Line 1\nLine 2\nLine 3')
- screen.open('/')
- screen.should_contain('Line 2')
- def test_supported_values(screen: Screen):
- values: Dict[str, List[str]] = {}
- @ui.page('/')
- def page():
- editor = ui.codemirror()
- async def fetch():
- values['languages'] = await editor.run_method('getLanguages')
- values['themes'] = await editor.run_method('getThemes')
- values['supported_themes'] = editor.supported_themes
- values['supported_languages'] = editor.supported_languages
- ui.label('Done')
- ui.button('Fetch', on_click=fetch)
- screen.open('/')
- screen.click('Fetch')
- screen.wait_for('Done')
- assert values['languages'] == values['supported_languages']
- assert values['themes'] == values['supported_themes']
- def test_change_set():
- assert _apply_change_set('', [0, 1], [['A']]) == 'A'
- assert _apply_change_set('', [0, 2], [['AB']]) == 'AB'
- assert _apply_change_set('X', [1, 2], [['AB']]) == 'AB'
- assert _apply_change_set('X', [1, -1], []) == 'X'
- assert _apply_change_set('X', [1, -1, 0, 1], [[], ['Y']]) == 'XY'
- assert _apply_change_set('Hello', [5, -1, 0, 8], [[], [', world!']]) == 'Hello, world!'
- assert _apply_change_set('Hello, world!', [5, -1, 7, 0, 1, -1], []) == 'Hello!'
|