From 4fd9b8f2b5a98bfcde57970b48fed2488a80f356 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 17 Sep 2021 21:53:37 +0300 Subject: add in master snapshot of epubjs --- lib/epub.js/test/section.js | 77 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 lib/epub.js/test/section.js (limited to 'lib/epub.js/test/section.js') diff --git a/lib/epub.js/test/section.js b/lib/epub.js/test/section.js new file mode 100644 index 0000000..5a2902e --- /dev/null +++ b/lib/epub.js/test/section.js @@ -0,0 +1,77 @@ +import assert from 'assert'; +import ePub from '../src/epub'; + +describe("section", function() { + it("finds a single result in a section", function() { + var book = ePub("./fixtures/alice/", {width: 400, height: 400}); + return book.ready.then(function() { + var section = book.section("chapter_001.xhtml"); + return section.load().then(function() { + const queryString = "they were filled with cupboards and book-shelves"; + const findResults = section.find(queryString); + const searchResults = section.search(queryString); + [findResults , searchResults].forEach( (results)=>{ + assert.equal(results.length, 1); + assert.equal(results[0].cfi, "epubcfi(/6/8[chapter_001]!/4/2/16,/1:275,/1:323)"); + assert.equal(results[0].excerpt, "... see anything; then she looked at the sides of the well and\n\t\tnoticed that they were filled with cupboards and book-shelves; here and there she saw\n\t\t..."); + }); + }); + }); + }); + + it("finds multiple results in a section", function() { + var book = ePub("./fixtures/alice/", {width: 400, height: 400}); + return book.ready.then(function() { + var section = book.section("chapter_001.xhtml"); + return section.load().then(function() { + const queryString = "white rabbit"; + const findResults = section.find(queryString); + const searchResults = section.search(queryString); + [findResults , searchResults].forEach( (results)=>{ + assert.equal(results.length, 2); + assert.equal(results[0].cfi, "epubcfi(/6/8[chapter_001]!/4/2/8,/1:240,/1:252)"); + assert.equal(results[0].excerpt, "...e worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her...."); + assert.equal(results[1].cfi, "epubcfi(/6/8[chapter_001]!/4/2/20,/1:148,/1:160)"); + assert.equal(results[1].excerpt, "...ut it was\n\t\tall dark overhead; before her was another long passage and the White Rabbit was still\n\t\tin sight, hurrying down it. There was not a moment..."); + }); + }); + }); + + }); + + it("finds result that spanning multiple document nodes, tag at ending", function() { + var book = ePub("./fixtures/alice/", {width: 400, height: 400}); + return book.ready.then(function() { + var section = book.section("chapter_010.xhtml"); + return section.load().then(function() { + const queryString = "I beg"; + + const findResult = section.find(queryString); + assert.equal(findResult.length, 0); + + const searchResults = section.search(queryString); + assert.equal(searchResults.length, 1); + assert.equal(searchResults[0].cfi, "epubcfi(/6/26[chapter_010]!/4/2/6,/1:5,/2/1:3)"); + assert.equal(searchResults[0].excerpt,'"Oh, I beg'); + }); + }); + }); + + it("finds result that spanning multiple document nodes, tag at middle", function() { + var book = ePub("./fixtures/alice/", {width: 400, height: 400}); + return book.ready.then(function() { + var section = book.section("chapter_010.xhtml"); + return section.load().then(function() { + const queryString = "I beg your pardon"; + + const findResult = section.find(queryString); + assert.equal(findResult.length, 0); + + const searchResults = section.search(queryString); + assert.equal(searchResults.length, 1); + assert.equal(searchResults[0].cfi, "epubcfi(/6/26[chapter_010]!/4/2/6,/1:5,/3:12)"); + assert.equal(searchResults[0].excerpt,'"Oh, I beg your pardon!" she exclaimed in a tone of great dismay.'); + }); + }); + }); +}); -- cgit v1.2.3