From c53ca319072f9f2f183bd36ffdbcec3ee2f86e2c Mon Sep 17 00:00:00 2001 From: Gijs Kruitbosch Date: Wed, 8 Apr 2015 15:24:34 +0100 Subject: [PATCH] Fixed test result output being sent at once --- test/test-readability.js | 55 ++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/test/test-readability.js b/test/test-readability.js index f43c682..aeb0824 100644 --- a/test/test-readability.js +++ b/test/test-readability.js @@ -10,29 +10,36 @@ var JSDOMParser = readability.JSDOMParser; var testPages = require("./bootstrap").getTestPages(); -function suite(result, expectedContent, expectedMetadata) { - it("should return a result object", function() { - expect(result).to.include.keys("content", "title", "excerpt", "byline"); - }); +function runTestsWithItems(label, beforeFn, expectedContent, expectedMetadata) { + describe(label, function() { + var result; + before(function() { + result = beforeFn(); + }); - it("should extract expected content", function() { - expect(expectedContent).eql(prettyPrint(result.content)); - }); + it("should return a result object", function() { + expect(result).to.include.keys("content", "title", "excerpt", "byline"); + }); - it("should extract expected title", function() { - expect(expectedMetadata.title).eql(result.title); - }); + it("should extract expected content", function() { + expect(expectedContent).eql(prettyPrint(result.content)); + }); - it("should extract expected byline", function() { - expect(expectedMetadata.byline).eql(result.byline); - }); + it("should extract expected title", function() { + expect(expectedMetadata.title).eql(result.title); + }); - it("should extract expected excerpt", function() { - expect(expectedMetadata.excerpt).eql(result.excerpt); - }); + it("should extract expected byline", function() { + expect(expectedMetadata.byline).eql(result.byline); + }); - it("should probably be readerable", function() { - expect(expectedMetadata.readerable).eql(result.readerable); + it("should extract expected excerpt", function() { + expect(expectedMetadata.excerpt).eql(result.excerpt); + }); + + it("should probably be readerable", function() { + expect(expectedMetadata.readerable).eql(result.readerable); + }); }); } @@ -57,7 +64,7 @@ describe("Test page", function() { pathBase: "http://fakehost/test/" }; - describe("jsdom", function() { + runTestsWithItems("jsdom", function() { var doc = jsdom(testPage.source, { features: { FetchExternalResources: false, @@ -69,17 +76,17 @@ describe("Test page", function() { var readerable = readability.isProbablyReaderable(); var result = readability.parse(); result.readerable = readerable; - suite(result, testPage.expectedContent, testPage.expectedMetadata); - }); + return result; + }, testPage.expectedContent, testPage.expectedMetadata); - describe("JSDOMParser", function() { + runTestsWithItems("JSDOMParser", function() { var doc = new JSDOMParser().parse(testPage.source); var readability = new Readability(uri, doc); var readerable = readability.isProbablyReaderable(); var result = readability.parse(); result.readerable = readerable; - suite(result, testPage.expectedContent, testPage.expectedMetadata); - }); + return result; + }, testPage.expectedContent, testPage.expectedMetadata); }); }); });