diff --git a/CHANGELOG.md b/CHANGELOG.md index 93d36a6fd9d..1c8072af818 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ For notes on migrating to 2.x / 0.200.x see [the upgrade guide](doc/upgrade-to-2 ### :house: Internal * perf(sdk-trace-base): use Uint8Array for browser RandomIdGenerator [#6209](https://github.com/open-telemetry/opentelemetry-js/pull/6209) @overbalance +* test(sdk-trace-base): remove obsolete TypeScript and platform workarounds [#6327](https://github.com/open-telemetry/opentelemetry-js/pull/6327) @overbalance ## 2.5.0 diff --git a/packages/opentelemetry-sdk-trace-base/test/browser/export/BatchSpanProcessor.test.ts b/packages/opentelemetry-sdk-trace-base/test/browser/export/BatchSpanProcessor.test.ts index db5d6677450..efbe4e91143 100644 --- a/packages/opentelemetry-sdk-trace-base/test/browser/export/BatchSpanProcessor.test.ts +++ b/packages/opentelemetry-sdk-trace-base/test/browser/export/BatchSpanProcessor.test.ts @@ -15,6 +15,7 @@ */ import * as assert from 'assert'; +import { Suite } from 'mocha'; import * as sinon from 'sinon'; import { SpanExporter } from '../../../src'; import { BatchSpanProcessor } from '../../../src/platform/browser/export/BatchSpanProcessor'; @@ -24,18 +25,19 @@ import { setGlobalErrorHandler, } from '@opentelemetry/core'; -/** - * VisibilityState has been removed from TypeScript 4.6.0+ - * So just defining a simple replacement - */ -type WebVisibilityState = 'visible' | 'hidden'; +const isBrowser = + typeof window !== 'undefined' && typeof document !== 'undefined'; -const describeDocument = - typeof document === 'object' ? describe : describe.skip; +function describeBrowser(title: string, fn: (this: Suite) => void) { + title = `Browser: ${title}`; + if (isBrowser) { + return describe(title, fn); + } + return describe.skip(title, fn); +} -describeDocument('BatchSpanProcessor - web main context', () => { - // TODO: change to DocumentVisibilityState when TypeScript is upgraded to 4.6+ - let visibilityState: WebVisibilityState = 'visible'; +describeBrowser('BatchSpanProcessor', () => { + let visibilityState: DocumentVisibilityState = 'visible'; let exporter: SpanExporter; let processor: BatchSpanProcessor; let forceFlushSpy: sinon.SinonStub; diff --git a/packages/opentelemetry-sdk-trace-base/test/node/export/BatchSpanProcessorBase.test.ts b/packages/opentelemetry-sdk-trace-base/test/node/export/BatchSpanProcessorBase.test.ts index ec7c935d08d..12a209ce0ad 100644 --- a/packages/opentelemetry-sdk-trace-base/test/node/export/BatchSpanProcessorBase.test.ts +++ b/packages/opentelemetry-sdk-trace-base/test/node/export/BatchSpanProcessorBase.test.ts @@ -25,30 +25,21 @@ class BatchSpanProcessor extends BatchSpanProcessorBase { describe('BatchSpanProcessorBase', () => { describe('constructor', () => { it('should read defaults from environment', () => { - const exporter = new InMemorySpanExporter(); const bspConfig = { OTEL_BSP_MAX_EXPORT_BATCH_SIZE: 256, OTEL_BSP_SCHEDULE_DELAY: 2500, }; - let env: Record; - if (global.process?.versions?.node === undefined) { - env = globalThis as unknown as Record; - } else { - env = process.env as Record; - } + Object.assign(process.env, bspConfig); - Object.entries(bspConfig).forEach(([k, v]) => { - env[k] = v; - }); + const processor = new BatchSpanProcessor(new InMemorySpanExporter()); - const processor = new BatchSpanProcessor(exporter); assert.ok(processor instanceof BatchSpanProcessor); assert.strictEqual(processor['_maxExportBatchSize'], 256); assert.strictEqual(processor['_scheduledDelayMillis'], 2500); processor.shutdown(); - Object.keys(bspConfig).forEach(k => delete env[k]); + Object.keys(bspConfig).forEach(k => delete process.env[k]); }); }); });