import { haveText, html, test } from '../utils' test('can register custom interceptors', [html`
`, ` Alpine.magic('magic', () => { return Alpine.interceptor((initialValue, getter, setter, path, key) => { return key+path }) }) `], ({ get }) => get('span').should(haveText('foofoo')) ) test('interceptors are nesting aware', [html`
`, ` Alpine.magic('magic', () => { return Alpine.interceptor((initialValue, getter, setter, path, key) => { return key+path }) }) `], ({ get }) => get('span').should(haveText('bazfoo.bar.baz')) ) test('interceptor system prevents against circular references', [html`
`, ` Alpine.magic('foo', () => { return { get anyGivenProperty() { return this } } }) `], ({ get }) => get('span').should(haveText('...')) )