diff --git a/screenfull/screenfull-tests.ts b/screenfull/screenfull-tests.ts new file mode 100644 index 000000000..b4cc17421 --- /dev/null +++ b/screenfull/screenfull-tests.ts @@ -0,0 +1,62 @@ +/// + +function test_fullscreen_page() { + if (screenfull.enabled) { + screenfull.request(); + } +} + +function test_fullscreen_element() { + var elem = document.getElementById('target'); + if (screenfull.enabled) { + screenfull.request(elem); + } +} + +function test_toggle() { + var elem = document.getElementById('target'); + if (screenfull.enabled) { + screenfull.toggle(elem); + } +} + +function test_exit() { + if (screenfull.enabled) { + screenfull.request(); + } + document.getElementById('target').addEventListener('click', function () { + if (screenfull.enabled) { + screenfull.exit(); + } + }) +} + +function test_detect_change() { + if (screenfull.enabled) { + document.addEventListener(screenfull.raw.fullscreenchange, function () { + if (screenfull.isFullscreen) { + console.log('fullscreen'); + } else { + console.log('not fullscreen'); + } + }); + } +} + +function test_detect_error() { + if (screenfull.enabled) { + document.addEventListener(screenfull.raw.fullscreenerror, function (event) { + console.error('Failed to enable fullscreen', event); + }); + } +} + +function test_access_element() { + var elem = document.getElementById('target'); + if (screenfull.enabled) { + screenfull.request(elem); + if (elem !== screenfull.element) { + alert('incorrect element property'); + } + } +} diff --git a/screenfull/screenfull.d.ts b/screenfull/screenfull.d.ts new file mode 100644 index 000000000..2e5e78deb --- /dev/null +++ b/screenfull/screenfull.d.ts @@ -0,0 +1,26 @@ +// Type definitions for screenfull.js 2.0.0 +// Project: https://github.com/sindresorhus/screenfull.js +// Definitions by: Ilia Choly +// Definitions: https://github.com/borisyankov/DefinitelyTyped + + +declare var screenfull: IScreenfull; + +interface IScreenfullRaw { + requestFullscreen?: string; + exitFullscreen?: string; + fullscreenElement?: string; + fullscreenEnabled?: string; + fullscreenchange?: string; + fullscreenerror?: string; +} + +interface IScreenfull { + isFullscreen: boolean; + element: Element; + enabled: boolean; + raw: IScreenfullRaw; + request(elem?: Element): void; + toggle(elem?: Element): void; + exit(): void; +}