go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/analysis/frontend/ui/src/testing_tools/setUpEnv.ts (about) 1 // Copyright 2022 The LUCI Authors. 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 /* eslint-disable @typescript-eslint/ban-ts-comment */ 15 16 import { 17 TextDecoder, 18 TextEncoder, 19 } from 'util'; 20 import { extend as dayjsextend } from 'dayjs'; 21 import localizedFormat from 'dayjs/plugin/localizedFormat'; 22 import relativeTime from 'dayjs/plugin/relativeTime'; 23 import UTC from 'dayjs/plugin/utc'; 24 import fetch from 'node-fetch'; 25 26 /** 27 * jsdom doesn't have those by default, we need to add them for fetch testing. 28 */ 29 global.TextEncoder = TextEncoder; 30 31 // @ts-ignore 32 global.TextDecoder = TextDecoder; 33 34 // @ts-ignore 35 global.fetch = fetch; 36 37 window.monorailHostname = 'crbug.com'; 38 39 dayjsextend(relativeTime); 40 dayjsextend(UTC); 41 dayjsextend(localizedFormat);