UNPKG

clipboard-mini

Version:

Super tiny copy-to-clipboard JS library

42 lines (34 loc) 1.2 kB
import ClipboardMini from './clipboard-mini' import ClipboardMiniSingle from './clipboard-mini-single' describe('ClipboardMini', () => { beforeAll(() => { document.queryCommandSupported = () => true }) beforeEach(() => { document.body.innerHTML = ` <button class="btn" id="first-btn"> Copy </button> <button class="btn" id="second-btn"> Copy </button> <div class="container">I am text in a div</div> ` }) test('it fails to initialise correctly', () => { const restore = ClipboardMini.prototype.init ClipboardMini.prototype.init = jest.fn() const clipboard = new ClipboardMini('.not-a-btn') expect(clipboard.elements).toHaveLength(0) expect(ClipboardMini.prototype.init).not.toHaveBeenCalled() ClipboardMini.prototype.init = restore }) test('it initialises correctly', () => { const clipboard = new ClipboardMini('.btn') expect(clipboard.elements).toHaveLength(2) expect(clipboard.list).toHaveLength(2) expect(clipboard.list[0]).toBeInstanceOf(ClipboardMiniSingle) expect(clipboard.list[1]).toBeInstanceOf(ClipboardMiniSingle) expect(clipboard.list[2]).toBeUndefined() }) })