From 3966b6eb0c63d4085641b106fab3121bf0bb6be4 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Sun, 1 Nov 2020 17:03:16 -0800 Subject: [PATCH] chore: restore test of global APIs based on loading a script tag --- test/{integration => e2e}/docsify.test.js | 28 +++++++++++++++++++++++ test/integration/global-apis.test.js | 4 ++-- 2 files changed, 30 insertions(+), 2 deletions(-) rename test/{integration => e2e}/docsify.test.js (60%) diff --git a/test/integration/docsify.test.js b/test/e2e/docsify.test.js similarity index 60% rename from test/integration/docsify.test.js rename to test/e2e/docsify.test.js index 9aacebd4d..53ee70bbb 100644 --- a/test/integration/docsify.test.js +++ b/test/e2e/docsify.test.js @@ -5,6 +5,34 @@ const docsifyInit = require('../helpers/docsify-init'); describe('Docsify', function() { // Tests // --------------------------------------------------------------------------- + it('global APIs are available', async () => { + await docsifyInit(); + + // If the script was built successfully for production, then it should load + // and the following APIs should be available: + expect(await page.evaluate(() => typeof window.Docsify)).toEqual('object'); + expect(await page.evaluate(() => typeof window.Docsify.util)).toEqual( + 'object' + ); + expect(await page.evaluate(() => typeof window.Docsify.dom)).toEqual( + 'object' + ); + expect(await page.evaluate(() => typeof window.Docsify.get)).toEqual( + 'function' + ); + expect(await page.evaluate(() => typeof window.Docsify.slugify)).toEqual( + 'function' + ); + expect(await page.evaluate(() => typeof window.Docsify.version)).toEqual( + 'string' + ); + expect(await page.evaluate(() => typeof window.DocsifyCompiler)).toEqual( + 'function' + ); + expect(await page.evaluate(() => typeof window.marked)).toEqual('function'); + expect(await page.evaluate(() => typeof window.Prism)).toEqual('object'); + }); + test('allows $docsify configuration to be a function', async () => { const testConfig = jest.fn(vm => { expect(vm).toBeInstanceOf(Object); diff --git a/test/integration/global-apis.test.js b/test/integration/global-apis.test.js index d59e4f797..d7f42f101 100644 --- a/test/integration/global-apis.test.js +++ b/test/integration/global-apis.test.js @@ -2,10 +2,10 @@ import initGlobalAPI from '../../src/core/global-api.js'; // Suite // ----------------------------------------------------------------------------- -describe('Global APIs', function() { +describe('initGlobalAPI', function() { // Tests // --------------------------------------------------------------------------- - test('APIs are available', () => { + test('it makes Docsify APIs available globally', () => { initGlobalAPI(); expect(typeof window.Docsify).toEqual('object');