47 lines
1.2 KiB
JavaScript
Executable File
47 lines
1.2 KiB
JavaScript
Executable File
/* 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/tests/${suite}/reference/${expectedFile}`)
|
|
} catch (error) {
|
|
sendReference(`/tests/${suite}/reference/${expectedFile}`, resetCreationDate(actual))
|
|
pdf = actual
|
|
}
|
|
const expected = resetCreationDate(pdf).trim()
|
|
actual = resetCreationDate(actual.trim())
|
|
|
|
expect(actual).toEqual(expected)
|
|
}
|