element-get-bounding-client-rect-async.test.js 1.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
const PAGE_PATH = '/pages/API/element-get-bounding-client-rect-async/element-get-bounding-client-rect-async'

const RECT_X = 15;
const RECT_HEIGHT = 100;
const RECT_LEFT = 15;

describe('element-get-bounding-client-rect-async', () => {
  const platformInfo = process.env.uniTestPlatformInfo.toLocaleLowerCase()
  let page
  beforeAll(async () => {
    page = await program.reLaunch(PAGE_PATH)
    await page.waitFor(500)
  })
  it('getBoundingClientRectSync', async () => {
    await invokeGetBoundingClientRect('getBoundingClientRectAsync', 'rectInfo');
  })
})

async function invokeGetBoundingClientRect(methodName, dataName) {
  await page.callMethod(methodName);
  await page.waitFor(50)

  const data = await page.data()
  const width = uni.getWindowInfo().windowWidth

  const rectInfo = data[dataName]
  expect(Math.round(rectInfo.x)).toBe(RECT_X)
  expect(Math.round(rectInfo.y) > 90).toBe(true)
  expect(Math.round(rectInfo.width)).toBe(width - 15 * 2)
  expect(Math.round(rectInfo.height)).toBe(RECT_HEIGHT)
  expect(Math.round(rectInfo.left)).toBe(RECT_LEFT)
  expect(Math.round(rectInfo.top) > 90).toBe(true)
  expect(Math.round(rectInfo.right)).toBe(width - 15)
  expect(Math.round(rectInfo.bottom) > 200).toBe(true)
}