mathjax.ts 900 B

12345678910111213141516171819202122232425262728293031323334353637
  1. const MATHJAX_STUB = `
  2. window.MathJax = {
  3. startup: {
  4. promise: Promise.resolve()
  5. },
  6. svgStylesheet: () => document.createElement("STYLE"),
  7. typesetPromise: (elements) => {
  8. for (const element of elements) {
  9. // This will keep math delimeters around the text
  10. element.classList.add('MathJax')
  11. }
  12. return Promise.resolve()
  13. },
  14. tex2svgPromise: (content) => {
  15. const text = document.createElement('SPAN')
  16. text.classList.add('MathJax')
  17. text.innerText = content
  18. return Promise.resolve(text)
  19. },
  20. getMetricsFor: () => ({}),
  21. texReset: () => {},
  22. }
  23. `
  24. export const interceptMathJax = () => {
  25. cy.window().then(win => {
  26. win.metaAttributesCache.set(
  27. 'ol-mathJax3Path',
  28. '/js/libs/mathjax3/es5/tex-svg-full.js'
  29. )
  30. })
  31. cy.intercept(
  32. 'GET',
  33. '/js/libs/mathjax3/es5/tex-svg-full.js*',
  34. MATHJAX_STUB
  35. ).as('mathjax-load-request')
  36. }