| /** | |
| * @license | |
| * Copyright 2021 The Go Authors. All rights reserved. | |
| * Use of this source code is governed by a BSD-style | |
| * license that can be found in the LICENSE file. | |
| */ | |
| import { parse } from '../../markdown'; | |
| import { ModalController } from './modal'; | |
| describe('Modal', () => { | |
| let modal: HTMLDialogElement; | |
| let openButton: HTMLButtonElement; | |
| let closeButton: HTMLButtonElement; | |
| beforeEach(async () => { | |
| document.body.innerHTML = await parse(__dirname + '/modal.md'); | |
| modal = document.querySelector('#example-modal-id1'); | |
| openButton = document.querySelector('[aria-controls="example-modal-id1"]'); | |
| new ModalController(modal); | |
| openButton.click(); | |
| closeButton = document.querySelector('[data-modal-close]'); | |
| }); | |
| afterEach(() => { | |
| document.body.innerHTML = ''; | |
| }); | |
| it('opens', () => { | |
| expect(modal.getAttribute('opened')).toBeTruthy(); | |
| }); | |
| it('closes on cancel', async () => { | |
| closeButton.click(); | |
| expect(modal.getAttribute('opened')).toBeFalsy(); | |
| }); | |
| }); |