compare.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* global XMLHttpRequest, expect */
  2. function loadBinaryResource (url) {
  3. const req = new XMLHttpRequest()
  4. req.open('GET', url, false)
  5. // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
  6. req.overrideMimeType('text\/plain; charset=x-user-defined')
  7. req.send(null)
  8. if (req.status !== 200) {
  9. throw new Error('Unable to load file')
  10. }
  11. return req.responseText
  12. }
  13. function sendReference (filename, data) {
  14. const req = new XMLHttpRequest()
  15. req.open('POST', `http://localhost:9090/${filename}`, true)
  16. req.onload = e => {
  17. console.log(e)
  18. }
  19. req.send(data)
  20. }
  21. const resetCreationDate = input =>
  22. input.replace(
  23. /\/CreationDate \(D:(.*?)\)/,
  24. '/CreationDate (D:19871210000000+00\'00\'\)'
  25. )
  26. /**
  27. * Find a better way to set this
  28. * @type {Boolean}
  29. */
  30. window.comparePdf = (actual, expectedFile, suite) => {
  31. let pdf
  32. try {
  33. pdf = loadBinaryResource(`/base/tests/${suite}/reference/${expectedFile}`)
  34. } catch (error) {
  35. sendReference(`/tests/${suite}/reference/${expectedFile}`, resetCreationDate(actual))
  36. pdf = actual
  37. }
  38. const expected = resetCreationDate(pdf).trim()
  39. actual = resetCreationDate(actual.trim())
  40. expect(actual).toEqual(expected)
  41. }