| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import { expect } from '@playwright/test'
- import { test } from './fixtures'
- import { IsMac, createRandomPage, newBlock, newInnerBlock, randomString, lastInnerBlock } from './utils'
- async function alias_test (page, page_name: string){
- let hotkeyOpenLink = 'Control+o'
- let hotkeyBack = 'Control+['
- if (IsMac) {
- hotkeyOpenLink = 'Meta+o'
- hotkeyBack = 'Meta+['
- }
- const rand = randomString(10)
- let target_name = page_name + ' target ' + rand
- let alias_name = page_name + ' alias ' + rand
- let alias_test_content_1 = randomString(20)
- let alias_test_content_2 = randomString(20)
- let alias_test_content_3 = randomString(20)
- // shortcut opening test
- await createRandomPage(page)
- await page.fill(':nth-match(textarea, 1)', '[[' + target_name + ']]')
- await page.keyboard.press(hotkeyOpenLink)
- // build target Page with alias
- await page.type(':nth-match(textarea, 1)', 'alias:: [[' + alias_name + ']]')
- await page.press(':nth-match(textarea, 1)', 'Enter') // double Enter for exit property editing
- await page.press(':nth-match(textarea, 1)', 'Enter')
- await page.type(':nth-match(textarea, 1)', alias_test_content_1)
- await page.keyboard.press(hotkeyBack)
- // create alias ref in origin Page
- await newBlock(page)
- await page.type(':nth-match(textarea, 1)', '[[' + alias_name + ']]')
- await page.keyboard.press(hotkeyOpenLink)
- // shortcut opening test
- await lastInnerBlock(page)
- expect(await page.inputValue(':nth-match(textarea, 1)')).toBe(alias_test_content_1)
- await newInnerBlock(page)
- await page.type(':nth-match(textarea, 1)', alias_test_content_2)
- await page.keyboard.press(hotkeyBack)
- // pressing enter opening test
- await lastInnerBlock(page)
- await page.press(':nth-match(textarea, 1)', 'ArrowLeft')
- await page.press(':nth-match(textarea, 1)', 'ArrowLeft')
- await page.press(':nth-match(textarea, 1)', 'ArrowLeft')
- await page.press(':nth-match(textarea, 1)', 'Enter')
- await lastInnerBlock(page)
- expect(await page.inputValue(':nth-match(textarea, 1)')).toBe(alias_test_content_2)
- await newInnerBlock(page)
- await page.type(':nth-match(textarea, 1)', alias_test_content_3)
- await page.keyboard.press(hotkeyBack)
- // clicking opening test
- await page.click('.page-blocks-inner .ls-block .page-ref >> nth=-1')
- await lastInnerBlock(page)
- expect(await page.inputValue(':nth-match(textarea, 1)')).toBe(alias_test_content_3)
- // TODO: test alias from graph clicking
- // test alias from search clicking
- await page.click('#search-button')
- await page.waitForSelector('[placeholder="Search or create page"]')
- await page.fill('[placeholder="Search or create page"]', alias_name)
- await page.waitForTimeout(500)
- const results = await page.$$('#ui__ac-inner .block')
- page.pause()
- expect(results.length).toEqual(3) // 2 blocks + 1 page
- await page.keyboard.press("Escape")
- }
- test('page alias', async ({ page }) => {
- await alias_test(page, "p")
- })
- test('page diacritic alias', async ({ page }) => {
- await alias_test(page, "ü")
- })
|