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