Skip to content

Commit a57a4bc

Browse files
Merge pull request mozilla#15018 from Snuffleupagus/issue-15016
Expose `TextLayerRenderTask` in the TypeScript definitions (issue 15016, PR 14013 follow-up)
2 parents f0b5aee + e046b81 commit a57a4bc

File tree

5 files changed

+67
-1
lines changed

5 files changed

+67
-1
lines changed

src/display/text_layer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,4 +857,4 @@ function renderTextLayer(renderParameters) {
857857
return task;
858858
}
859859

860-
export { renderTextLayer };
860+
export { renderTextLayer, TextLayerRenderTask };

src/pdf.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
/** @typedef {import("./display/api").PDFPageProxy} PDFPageProxy */
2020
/** @typedef {import("./display/api").RenderTask} RenderTask */
2121
/** @typedef {import("./display/display_utils").PageViewport} PageViewport */
22+
// eslint-disable-next-line max-len
23+
/** @typedef {import("./display/text_layer").TextLayerRenderTask} TextLayerRenderTask */
2224

2325
import {
2426
AnnotationEditorType,

test/unit/clitests.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
"primitives_spec.js",
3838
"stream_spec.js",
3939
"struct_tree_spec.js",
40+
"text_layer_spec.js",
4041
"type1_parser_spec.js",
4142
"ui_utils_spec.js",
4243
"unicode_spec.js",

test/unit/jasmine-boot.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ async function initializePDFJS(callback) {
8484
"pdfjs-test/unit/scripting_spec.js",
8585
"pdfjs-test/unit/stream_spec.js",
8686
"pdfjs-test/unit/struct_tree_spec.js",
87+
"pdfjs-test/unit/text_layer_spec.js",
8788
"pdfjs-test/unit/type1_parser_spec.js",
8889
"pdfjs-test/unit/ui_utils_spec.js",
8990
"pdfjs-test/unit/unicode_spec.js",

test/unit/text_layer_spec.js

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
/* Copyright 2022 Mozilla Foundation
2+
*
3+
* Licensed under the Apache License, Version 2.0 (the "License");
4+
* you may not use this file except in compliance with the License.
5+
* You may obtain a copy of the License at
6+
*
7+
* http://www.apache.org/licenses/LICENSE-2.0
8+
*
9+
* Unless required by applicable law or agreed to in writing, software
10+
* distributed under the License is distributed on an "AS IS" BASIS,
11+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
* See the License for the specific language governing permissions and
13+
* limitations under the License.
14+
*/
15+
16+
import {
17+
renderTextLayer,
18+
TextLayerRenderTask,
19+
} from "../../src/display/text_layer.js";
20+
import { buildGetDocumentParams } from "./test_utils.js";
21+
import { getDocument } from "../../src/display/api.js";
22+
import { isNodeJS } from "../../src/shared/is_node.js";
23+
24+
describe("textLayer", function () {
25+
it("creates textLayer from ReadableStream", async function () {
26+
if (isNodeJS) {
27+
pending("document.createDocumentFragment is not supported in Node.js.");
28+
}
29+
const loadingTask = getDocument(buildGetDocumentParams("basicapi.pdf"));
30+
const pdfDocument = await loadingTask.promise;
31+
const page = await pdfDocument.getPage(1);
32+
33+
const textContentItemsStr = [];
34+
35+
const textLayerRenderTask = renderTextLayer({
36+
textContentStream: page.streamTextContent(),
37+
container: document.createDocumentFragment(),
38+
viewport: page.getViewport(),
39+
textContentItemsStr,
40+
});
41+
expect(textLayerRenderTask instanceof TextLayerRenderTask).toEqual(true);
42+
43+
await textLayerRenderTask.promise;
44+
expect(textContentItemsStr).toEqual([
45+
"Table Of Content",
46+
"",
47+
"Chapter 1",
48+
" ",
49+
"..........................................................",
50+
" ",
51+
"2",
52+
"",
53+
"Paragraph 1.1",
54+
" ",
55+
"......................................................",
56+
" ",
57+
"3",
58+
"",
59+
"page 1 / 3",
60+
]);
61+
});
62+
});

0 commit comments

Comments
 (0)