/* global XMLHttpRequest, expect */
function loadBinaryResource (url) {
const req = new XMLHttpRequest()
req.open('GET', url, false)
// XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
req.overrideMimeType('text\/plain; charset=x-user-defined')
req.send(null)
if (req.status !== 200) {
throw new Error('Unable to load file')
}
return req.responseText
}
function sendReference (filename, data) {
const req = new XMLHttpRequest()
req.open('POST', `http://localhost:9090/${filename}`, true)
req.onload = e => {
console.log(e)
}
req.send(data)
}
const resetCreationDate = input =>
input.replace(
/\/CreationDate \(D:(.*?)\)/,
'/CreationDate (D:19871210000000+00\'00\'\)'
)
/**
* Find a better way to set this
* @type {Boolean}
*/
window.comparePdf = (actual, expectedFile, suite) => {
let pdf
try {
pdf = loadBinaryResource(`/base/specs/${suite}/reference/${expectedFile}`)
} catch (error) {
sendReference(`/specs/${suite}/reference/${expectedFile}`, resetCreationDate(actual))
pdf = actual
}
const expected = resetCreationDate(pdf).trim()
actual = resetCreationDate(actual.trim())
expect(actual).toEqual(expected)
}