index.js 1.8 KB

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