@internetarchive/bookreader 5.0.0-42 → 5.0.0-43
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/workflows/node.js.yml +14 -14
- package/.github/workflows/npm-publish.yml +4 -4
- package/BookReader/BookReader.css +13 -13
- package/BookReader/BookReader.js +1 -1
- package/BookReader/BookReader.js.map +1 -1
- package/BookReader/ia-bookreader-bundle.js +87 -87
- package/BookReader/ia-bookreader-bundle.js.map +1 -1
- package/BookReader/icons/pause.svg +1 -1
- package/BookReader/icons/playback-speed.svg +1 -1
- package/BookReader/icons/read-aloud.svg +1 -1
- package/BookReader/images/BRicons.svg +2 -2
- package/BookReader/images/books_graphic.svg +1 -1
- package/BookReader/images/icon_book.svg +1 -1
- package/BookReader/images/icon_gear.svg +1 -1
- package/BookReader/images/icon_info.svg +1 -1
- package/BookReader/images/icon_playback-rate.svg +1 -1
- package/BookReader/images/icon_search_button.svg +1 -1
- package/BookReader/images/icon_share.svg +1 -1
- package/BookReader/images/icon_speaker.svg +1 -1
- package/BookReader/images/icon_speaker_open.svg +1 -1
- package/BookReader/images/marker_chap-off.svg +1 -1
- package/BookReader/images/marker_chap-on.svg +1 -1
- package/BookReader/images/marker_srch-on.svg +1 -1
- package/BookReader/jquery-1.10.1.js +1 -1
- package/BookReader/jquery-1.10.1.js.LICENSE.txt +6 -6
- package/BookReader/plugins/plugin.archive_analytics.js +1 -1
- package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
- package/BookReader/plugins/plugin.resume.js +1 -1
- package/BookReader/plugins/plugin.resume.js.map +1 -1
- package/BookReader/plugins/plugin.search.js +1 -1
- package/BookReader/plugins/plugin.search.js.map +1 -1
- package/BookReader/plugins/plugin.text_selection.js +1 -1
- package/BookReader/plugins/plugin.text_selection.js.map +1 -1
- package/BookReader/plugins/plugin.tts.js +1 -1
- package/BookReader/plugins/plugin.tts.js.map +1 -1
- package/BookReader/plugins/plugin.url.js +1 -1
- package/BookReader/plugins/plugin.url.js.map +1 -1
- package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
- package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
- package/CHANGELOG.md +5 -0
- package/package.json +17 -16
- package/renovate.json +6 -0
- package/scripts/preversion.js +4 -1
- package/src/BookNavigator/search/a-search-result.js +4 -6
- package/src/plugins/search/plugin.search.js +17 -4
- package/src/plugins/search/view.js +1 -3
- package/tests/{karma → jest}/BookNavigator/search/search-provider.test.js +29 -29
- package/tests/{karma → jest}/BookNavigator/search/search-results.test.js +57 -56
- package/tests/jest/plugins/search/plugin.search.test.js +40 -23
@@ -1,7 +1,7 @@
|
|
1
|
-
|
2
1
|
import BookReader from '@/src/BookReader.js';
|
3
2
|
import '@/src/plugins/plugin.mobile_nav.js';
|
4
|
-
import '@/src/plugins/search/plugin.search.js';
|
3
|
+
import { marshallSearchResults } from '@/src/plugins/search/plugin.search.js';
|
4
|
+
import { deepCopy } from '../../utils.js';
|
5
5
|
|
6
6
|
jest.mock('@/src/plugins/search/view.js');
|
7
7
|
|
@@ -14,31 +14,33 @@ const triggeredEvents = () => {
|
|
14
14
|
});
|
15
15
|
};
|
16
16
|
|
17
|
+
const DUMMY_RESULTS = {
|
18
|
+
ia: "adventuresofoli00dick",
|
19
|
+
q: "child",
|
20
|
+
indexed: true,
|
21
|
+
page_count: 644,
|
22
|
+
body_length: 666,
|
23
|
+
leaf0_missing: false,
|
24
|
+
matches: [{
|
25
|
+
text: 'For a long; time after it was ushered into this world of sorrow and trouble, by the parish surgeon, it remained a matter of considerable doubt wliether the {{{child}}} Avould survi^ e to bear any name at all; in which case it is somewhat more than probable that these memoirs would never have appeared; or, if they had, that being comprised within a couple of pages, they would have possessed the inestimable meiit of being the most concise and faithful specimen of biography, extant in the literature of any age or country.',
|
26
|
+
par: [{
|
27
|
+
boxes: [{r: 1221, b: 2121, t: 2075, page: 37, l: 1107}],
|
28
|
+
b: 2535,
|
29
|
+
t: 1942,
|
30
|
+
page_width: 1790,
|
31
|
+
r: 1598,
|
32
|
+
l: 50,
|
33
|
+
page_height: 2940,
|
34
|
+
page: 37
|
35
|
+
}]
|
36
|
+
}]
|
37
|
+
};
|
38
|
+
|
17
39
|
beforeEach(() => {
|
18
40
|
$.ajax = jest.fn().mockImplementation(() => {
|
19
41
|
// return from:
|
20
42
|
// `https://ia800304.us.archive.org/fulltext/inside.php?item_id=adventuresofoli00dick&doc=adventuresofoli00dick&path=/30/items/adventuresofoli00dick&q=child&callback=<serialized jQ CB>`
|
21
|
-
return Promise.resolve(
|
22
|
-
ia: "adventuresofoli00dick",
|
23
|
-
q: "child",
|
24
|
-
indexed: true,
|
25
|
-
page_count: 644,
|
26
|
-
body_length: 666,
|
27
|
-
leaf0_missing: false,
|
28
|
-
matches: [{
|
29
|
-
text: 'For a long; time after it was ushered into this world of sorrow and trouble, by the parish surgeon, it remained a matter of considerable doubt wliether the {{{child}}} Avould survi^ e to bear any name at all; in which case it is somewhat more than probable that these memoirs would never have appeared; or, if they had, that being comprised within a couple of pages, they would have possessed the inestimable meiit of being the most concise and faithful specimen of biography, extant in the literature of any age or country.',
|
30
|
-
par: [{
|
31
|
-
boxes: [{r: 1221, b: 2121, t: 2075, page: 37, l: 1107}],
|
32
|
-
b: 2535,
|
33
|
-
t: 1942,
|
34
|
-
page_width: 1790,
|
35
|
-
r: 1598,
|
36
|
-
l: 50,
|
37
|
-
page_height: 2940,
|
38
|
-
page: 37
|
39
|
-
}]
|
40
|
-
}]
|
41
|
-
});
|
43
|
+
return Promise.resolve(deepCopy(DUMMY_RESULTS));
|
42
44
|
});
|
43
45
|
|
44
46
|
$.fn.trigger = jest.fn();
|
@@ -163,3 +165,18 @@ describe('Plugin: Search', () => {
|
|
163
165
|
expect(triggeredEvents()).toContain(`${namespace}SearchCallbackEmpty`);
|
164
166
|
});
|
165
167
|
});
|
168
|
+
|
169
|
+
describe('marshallSearchResults', () => {
|
170
|
+
test('Adds match index', () => {
|
171
|
+
const results = deepCopy(DUMMY_RESULTS);
|
172
|
+
marshallSearchResults(results, x => x.toString());
|
173
|
+
expect(results.matches[0]).toHaveProperty('matchIndex', 0);
|
174
|
+
expect(results.matches[0].par[0].boxes[0]).toHaveProperty('matchIndex', 0);
|
175
|
+
});
|
176
|
+
|
177
|
+
test('Adds display page number', () => {
|
178
|
+
const results = deepCopy(DUMMY_RESULTS);
|
179
|
+
marshallSearchResults(results, x => `n${x}`);
|
180
|
+
expect(results.matches[0]).toHaveProperty('displayPageNumber', 'n37');
|
181
|
+
});
|
182
|
+
});
|