index.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. var path = require('path')
  2. var puppeteer = require('puppeteer')
  3. var Server = require('./utils/server')
  4. var options = {
  5. headless: false,
  6. // slowMo: 300,
  7. args: [
  8. `--disable-extensions-except=${path.resolve(__dirname, '../')}`,
  9. `--load-extension=${path.resolve(__dirname, '../')}`,
  10. ],
  11. }
  12. var tests = [
  13. 'defaults-popup',
  14. 'defaults-options',
  15. 'popup-options',
  16. // 'custom-themes',
  17. 'origin-add',
  18. 'origin-match',
  19. 'origin-encoding',
  20. 'origin-csp', // should be last - destroys popup and advanced
  21. ]
  22. describe('markdown-viewer', () => {
  23. var browser, server
  24. it('test suite', async () => {
  25. browser = await puppeteer.launch(options)
  26. var extensions = await browser.newPage()
  27. await extensions.goto('chrome://extensions')
  28. // enable developer mode
  29. await extensions.evaluate(() => {
  30. document.querySelector('extensions-manager').shadowRoot
  31. .querySelector('extensions-toolbar').shadowRoot
  32. .querySelector('cr-toggle').click()
  33. })
  34. // get extension id
  35. var id = await extensions.evaluate(() =>
  36. Array.from(
  37. document.querySelector('extensions-manager').shadowRoot
  38. .querySelector('extensions-item-list').shadowRoot
  39. .querySelectorAll('extensions-item')
  40. )[0].id
  41. )
  42. var popup = await browser.newPage()
  43. await popup.goto(`chrome-extension://${id}/popup/index.html`)
  44. var advanced = await browser.newPage()
  45. await advanced.goto(`chrome-extension://${id}/options/index.html`)
  46. var content = await browser.newPage()
  47. var server = await Server()
  48. tests.forEach((file) => {
  49. describe(file, () => {
  50. require(`./${file}.js`)({puppeteer, browser, extensions, popup, advanced, content})
  51. })
  52. })
  53. after(async () => {
  54. server.close()
  55. await browser.close()
  56. })
  57. })
  58. })