mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-31 10:37:12 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			129 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import '@angular/localize/init'
 | |
| import { jest } from '@jest/globals'
 | |
| import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone'
 | |
| import { TextDecoder, TextEncoder } from 'util'
 | |
| if (process.env.NODE_ENV === 'test') {
 | |
|   setupZoneTestEnv()
 | |
| }
 | |
| global.TextEncoder = TextEncoder
 | |
| global.TextDecoder = TextDecoder
 | |
| 
 | |
| import { registerLocaleData } from '@angular/common'
 | |
| import localeAf from '@angular/common/locales/af'
 | |
| import localeAr from '@angular/common/locales/ar'
 | |
| import localeBe from '@angular/common/locales/be'
 | |
| import localeBg from '@angular/common/locales/bg'
 | |
| import localeCa from '@angular/common/locales/ca'
 | |
| import localeCs from '@angular/common/locales/cs'
 | |
| import localeDa from '@angular/common/locales/da'
 | |
| import localeDe from '@angular/common/locales/de'
 | |
| import localeEl from '@angular/common/locales/el'
 | |
| import localeEnGb from '@angular/common/locales/en-GB'
 | |
| import localeEs from '@angular/common/locales/es'
 | |
| import localeFa from '@angular/common/locales/fa'
 | |
| import localeFi from '@angular/common/locales/fi'
 | |
| import localeFr from '@angular/common/locales/fr'
 | |
| import localeHu from '@angular/common/locales/hu'
 | |
| import localeIt from '@angular/common/locales/it'
 | |
| import localeJa from '@angular/common/locales/ja'
 | |
| import localeKo from '@angular/common/locales/ko'
 | |
| import localeLb from '@angular/common/locales/lb'
 | |
| import localeNl from '@angular/common/locales/nl'
 | |
| import localeNo from '@angular/common/locales/no'
 | |
| import localePl from '@angular/common/locales/pl'
 | |
| import localePt from '@angular/common/locales/pt'
 | |
| import localeRo from '@angular/common/locales/ro'
 | |
| import localeRu from '@angular/common/locales/ru'
 | |
| import localeSk from '@angular/common/locales/sk'
 | |
| import localeSl from '@angular/common/locales/sl'
 | |
| import localeSr from '@angular/common/locales/sr'
 | |
| import localeSv from '@angular/common/locales/sv'
 | |
| import localeTr from '@angular/common/locales/tr'
 | |
| import localeUk from '@angular/common/locales/uk'
 | |
| import localeVi from '@angular/common/locales/vi'
 | |
| import localeZh from '@angular/common/locales/zh'
 | |
| import localeZhHant from '@angular/common/locales/zh-Hant'
 | |
| 
 | |
| registerLocaleData(localeAf)
 | |
| registerLocaleData(localeAr)
 | |
| registerLocaleData(localeBe)
 | |
| registerLocaleData(localeBg)
 | |
| registerLocaleData(localeCa)
 | |
| registerLocaleData(localeCs)
 | |
| registerLocaleData(localeDa)
 | |
| registerLocaleData(localeDe)
 | |
| registerLocaleData(localeEl)
 | |
| registerLocaleData(localeEnGb)
 | |
| registerLocaleData(localeEs)
 | |
| registerLocaleData(localeFa)
 | |
| registerLocaleData(localeFi)
 | |
| registerLocaleData(localeFr)
 | |
| registerLocaleData(localeHu)
 | |
| registerLocaleData(localeIt)
 | |
| registerLocaleData(localeJa)
 | |
| registerLocaleData(localeKo)
 | |
| registerLocaleData(localeLb)
 | |
| registerLocaleData(localeNl)
 | |
| registerLocaleData(localeNo)
 | |
| registerLocaleData(localePl)
 | |
| registerLocaleData(localePt, 'pt-BR')
 | |
| registerLocaleData(localePt, 'pt-PT')
 | |
| registerLocaleData(localeRo)
 | |
| registerLocaleData(localeRu)
 | |
| registerLocaleData(localeSk)
 | |
| registerLocaleData(localeSl)
 | |
| registerLocaleData(localeSr)
 | |
| registerLocaleData(localeSv)
 | |
| registerLocaleData(localeTr)
 | |
| registerLocaleData(localeUk)
 | |
| registerLocaleData(localeVi)
 | |
| registerLocaleData(localeZh)
 | |
| registerLocaleData(localeZhHant)
 | |
| 
 | |
| /* global mocks for jsdom */
 | |
| const mock = () => {
 | |
|   let storage: { [key: string]: string } = {}
 | |
|   return {
 | |
|     getItem: (key: string) => (key in storage ? storage[key] : null),
 | |
|     setItem: (key: string, value: string) => {
 | |
|       if (value.length > 1000000) throw new Error('localStorage overflow')
 | |
|       storage[key] = value || ''
 | |
|     },
 | |
|     removeItem: (key: string) => delete storage[key],
 | |
|     clear: () => (storage = {}),
 | |
|   }
 | |
| }
 | |
| 
 | |
| Object.defineProperty(window, 'open', { value: jest.fn() })
 | |
| Object.defineProperty(window, 'localStorage', { value: mock() })
 | |
| Object.defineProperty(window, 'sessionStorage', { value: mock() })
 | |
| Object.defineProperty(window, 'getComputedStyle', {
 | |
|   value: () => ['-webkit-appearance'],
 | |
| })
 | |
| Object.defineProperty(navigator, 'clipboard', {
 | |
|   value: {
 | |
|     writeText: async () => {},
 | |
|   },
 | |
| })
 | |
| Object.defineProperty(navigator, 'canShare', { value: () => true })
 | |
| if (!navigator.share) {
 | |
|   Object.defineProperty(navigator, 'share', { value: jest.fn() })
 | |
| }
 | |
| if (!URL.createObjectURL) {
 | |
|   Object.defineProperty(window.URL, 'createObjectURL', { value: jest.fn() })
 | |
| }
 | |
| if (!URL.revokeObjectURL) {
 | |
|   Object.defineProperty(window.URL, 'revokeObjectURL', { value: jest.fn() })
 | |
| }
 | |
| Object.defineProperty(window, 'ResizeObserver', { value: mock() })
 | |
| Object.defineProperty(window, 'location', {
 | |
|   configurable: true,
 | |
|   value: { reload: jest.fn() },
 | |
| })
 | |
| 
 | |
| HTMLCanvasElement.prototype.getContext = <
 | |
|   typeof HTMLCanvasElement.prototype.getContext
 | |
| >jest.fn()
 | |
| 
 | |
| jest.mock('pdfjs-dist')
 |