advanced-defaults.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var t = require('assert')
  2. module.exports = ({advanced}) => {
  3. before(async () => {
  4. await advanced.bringToFront()
  5. })
  6. it('access to file URLs', async () => {
  7. t.strictEqual(
  8. await advanced.evaluate(() =>
  9. state.file
  10. ),
  11. true,
  12. 'state.file should be true'
  13. )
  14. })
  15. it('header detection', async () => {
  16. t.strictEqual(
  17. await advanced.evaluate(() =>
  18. state.header
  19. ),
  20. true,
  21. 'state.header should be true'
  22. )
  23. })
  24. it('allowed origins', async () => {
  25. t.deepStrictEqual(
  26. await advanced.evaluate(() =>
  27. state.origins
  28. ),
  29. {
  30. 'file://': '\\.(?:markdown|mdown|mkdn|md|mkd|mdwn|mdtxt|mdtext|text)(?:#.*|\\?.*)?$'
  31. },
  32. 'state.origins should contain only the file:// origin'
  33. )
  34. t.deepStrictEqual(
  35. await advanced.evaluate(() =>
  36. state.origins
  37. ),
  38. await advanced.evaluate(() =>
  39. Array.from(document.querySelectorAll('.m-list li'))
  40. .reduce((obj, origin) => (
  41. obj[
  42. origin.querySelector('span:nth-of-type(1)').innerText.trim() +
  43. '://' +
  44. origin.querySelector('span:nth-of-type(2)').innerText.trim()
  45. ] = origin.querySelector('.m-textfield input').value,
  46. obj
  47. ), {})
  48. ),
  49. 'state.origins should be identical to dom origins'
  50. )
  51. })
  52. }