diff --git a/test/integration/next-image-new/default/pages/ref-forwarding.js b/test/integration/next-image-new/default/pages/ref-forwarding.js new file mode 100644 index 0000000000000..ba3de83d51d4e --- /dev/null +++ b/test/integration/next-image-new/default/pages/ref-forwarding.js @@ -0,0 +1,16 @@ +import React from 'react' +import Image from 'next/image' +import { useRef } from 'react' +import { useEffect } from 'react' + +export default function Page() { + const ref = useRef() + useEffect(() => { + window.ref = ref + }, []) + return ( +
+ +
+ ) +} diff --git a/test/integration/next-image-new/default/test/index.test.ts b/test/integration/next-image-new/default/test/index.test.ts index 65892992a95c0..bfef08e0c91de 100644 --- a/test/integration/next-image-new/default/test/index.test.ts +++ b/test/integration/next-image-new/default/test/index.test.ts @@ -1257,6 +1257,23 @@ function runTests(mode) { } } }) + + it.only('should forward ref to native img', async () => { + let browser + try { + browser = await webdriver(appPort, '/ref-forwarding') + await waitFor(1000) + const dataId = 'arst' + await browser.eval(`window.ref.current.dataset.id = '${dataId}'`) + expect(await browser.elementById('img').getAttribute('data-id')).toBe( + dataId + ) + } finally { + if (browser) { + await browser.close() + } + } + }) } describe('Image Component Default Tests', () => {