MOON
Server: Apache
System: Linux server.royaltuning.hu 4.18.0-425.13.1.el8_7.x86_64 #1 SMP Tue Feb 21 04:20:52 EST 2023 x86_64
User: royaltuning (1001)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/royaltuning/www/public/backoffice.royaltuning.hu/node_modules/alpinejs/test/el.spec.js
import Alpine from 'alpinejs'
import { wait } from '@testing-library/dom'

global.MutationObserver = class {
    observe() {}
}

test('$el', async () => {
    document.body.innerHTML = `
        <div x-data>
            <button @click="$el.innerHTML = 'foo'"></button>
        </div>
    `

    Alpine.start()

    expect(document.querySelector('div').innerHTML).not.toEqual('foo')

    document.querySelector('button').click()

    await wait(() => { expect(document.querySelector('div').innerHTML).toEqual('foo') })
})

test('$el doesnt return a proxy', async () => {
    var isProxy
    window.setIsProxy = function (el) {
        isProxy = !! el.isProxy
    }

    document.body.innerHTML = `
        <div x-data>
            <button @click="setIsProxy($el)"></button>
        </div>
    `

    Alpine.start()

    document.querySelector('button').click()

    expect(isProxy).toEqual(false)
})