Merge pull request #17161 from Snuffleupagus/NullL10n-test
Add a unit-test to ensure that `NullL10n` won't diverge from the `L10n`-class
This commit is contained in:
commit
f098121644
@ -30,6 +30,7 @@ import { AnnotationLayerBuilder } from "../../web/annotation_layer_builder.js";
|
|||||||
import { DownloadManager } from "../../web/download_manager.js";
|
import { DownloadManager } from "../../web/download_manager.js";
|
||||||
import { EventBus } from "../../web/event_utils.js";
|
import { EventBus } from "../../web/event_utils.js";
|
||||||
import { GenericL10n } from "../../web/genericl10n.js";
|
import { GenericL10n } from "../../web/genericl10n.js";
|
||||||
|
import { L10n } from "../../web/l10n.js";
|
||||||
import { NullL10n } from "../../web/l10n_utils.js";
|
import { NullL10n } from "../../web/l10n_utils.js";
|
||||||
import { PDFHistory } from "../../web/pdf_history.js";
|
import { PDFHistory } from "../../web/pdf_history.js";
|
||||||
import { PDFPageView } from "../../web/pdf_page_view.js";
|
import { PDFPageView } from "../../web/pdf_page_view.js";
|
||||||
@ -72,4 +73,14 @@ describe("pdfviewer_api", function () {
|
|||||||
XfaLayerBuilder,
|
XfaLayerBuilder,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("checks that `NullL10n` implements all methods", function () {
|
||||||
|
const methods = Object.getOwnPropertyNames(NullL10n).sort();
|
||||||
|
|
||||||
|
const baseMethods = Object.getOwnPropertyNames(L10n.prototype)
|
||||||
|
.filter(m => m !== "constructor" && !m.startsWith("_"))
|
||||||
|
.sort();
|
||||||
|
|
||||||
|
expect(methods).toEqual(baseMethods);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
@ -25,7 +25,7 @@ import { L10n } from "./l10n.js";
|
|||||||
class GenericL10n extends L10n {
|
class GenericL10n extends L10n {
|
||||||
constructor(lang) {
|
constructor(lang) {
|
||||||
super({ lang });
|
super({ lang });
|
||||||
this.setL10n(
|
this._setL10n(
|
||||||
new DOMLocalization(
|
new DOMLocalization(
|
||||||
[],
|
[],
|
||||||
GenericL10n.#generateBundles.bind(
|
GenericL10n.#generateBundles.bind(
|
||||||
|
@ -31,7 +31,7 @@ class L10n {
|
|||||||
this.#dir = isRTL ?? L10n.#isRTL(this.#lang) ? "rtl" : "ltr";
|
this.#dir = isRTL ?? L10n.#isRTL(this.#lang) ? "rtl" : "ltr";
|
||||||
}
|
}
|
||||||
|
|
||||||
setL10n(l10n) {
|
_setL10n(l10n) {
|
||||||
this.#l10n = l10n;
|
this.#l10n = l10n;
|
||||||
if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("TESTING")) {
|
if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("TESTING")) {
|
||||||
document.l10n = l10n;
|
document.l10n = l10n;
|
||||||
|
@ -144,16 +144,15 @@ class PDFFindBar {
|
|||||||
const { findResultsCount } = this;
|
const { findResultsCount } = this;
|
||||||
|
|
||||||
if (total > 0) {
|
if (total > 0) {
|
||||||
const limit = MATCHES_COUNT_LIMIT,
|
const limit = MATCHES_COUNT_LIMIT;
|
||||||
isLimited = total > limit;
|
|
||||||
|
|
||||||
findResultsCount.setAttribute(
|
findResultsCount.setAttribute(
|
||||||
"data-l10n-id",
|
"data-l10n-id",
|
||||||
`pdfjs-find-match-count${isLimited ? "-limit" : ""}`
|
`pdfjs-find-match-count${total > limit ? "-limit" : ""}`
|
||||||
);
|
);
|
||||||
findResultsCount.setAttribute(
|
findResultsCount.setAttribute(
|
||||||
"data-l10n-args",
|
"data-l10n-args",
|
||||||
JSON.stringify(isLimited ? { limit } : { current, total })
|
JSON.stringify({ limit, current, total })
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
findResultsCount.removeAttribute("data-l10n-id");
|
findResultsCount.removeAttribute("data-l10n-id");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user