diff --git a/packages/readabilityjs/test/test-readability.js b/packages/readabilityjs/test/test-readability.js
index 0c8154a3e..17b287b6d 100644
--- a/packages/readabilityjs/test/test-readability.js
+++ b/packages/readabilityjs/test/test-readability.js
@@ -1,6 +1,8 @@
var JSDOM = require("jsdom").JSDOM;
var chai = require("chai");
var sinon = require("sinon");
+const { parseHTML } = require("linkedom");
+
chai.config.includeStack = true;
var expect = chai.expect;
@@ -52,7 +54,7 @@ function htmlTransform(str) {
return str.replace(/\s+/g, " ");
}
-function runTestsWithItems(label, domGenerationFn, source, expectedContent, expectedMetadata) {
+function runTestsWithItems(label, domGenerationFn, source, expectedContent, expectedMetadata, uri) {
describe(label, function() {
this.timeout(30000);
@@ -63,7 +65,7 @@ function runTestsWithItems(label, domGenerationFn, source, expectedContent, expe
var doc = domGenerationFn(source);
// Provide one class name to preserve, which we know appears in a few
// of the test documents.
- var myReader = new Readability(doc, { classesToPreserve: ["caption"] });
+ var myReader = new Readability(doc, { classesToPreserve: ["caption"], url: uri });
result = myReader.parse();
} catch (err) {
throw reformatError(err);
@@ -227,7 +229,7 @@ describe("Readability API", function() {
});
it("should run _cleanClasses with default configuration", function() {
- var doc = new JSDOM(exampleSource).window.document;
+ var doc = parseHTML(exampleSource).document;
var parser = new Readability(doc);
parser._cleanClasses = sinon.fake();
@@ -238,7 +240,7 @@ describe("Readability API", function() {
});
it("should run _cleanClasses when option keepClasses = false", function() {
- var doc = new JSDOM(exampleSource).window.document;
+ var doc = parseHTML(exampleSource).document;
var parser = new Readability(doc, {keepClasses: false});
parser._cleanClasses = sinon.fake();
@@ -249,7 +251,7 @@ describe("Readability API", function() {
});
it("shouldn't run _cleanClasses when option keepClasses = true", function() {
- var doc = new JSDOM(exampleSource).window.document;
+ var doc = parseHTML(exampleSource).document;
var parser = new Readability(doc, {keepClasses: true});
parser._cleanClasses = sinon.fake();
@@ -272,30 +274,30 @@ describe("Readability API", function() {
});
it("should not proxy image with data uri", function() {
- var dom = new JSDOM("My cat: