1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
denoland-deno/tests/specs/cli/otel_basic/context.ts
snek 5c17bb4287
fix(unstable): otel context with multiple keys (#27230)
`SafeMap` treats its argument as an object with a "length" and index
properties, rather than a generic iterator, so every time we cloned it,
it was dropping all the data.
2024-12-04 13:14:37 +00:00

26 lines
680 B
TypeScript

import { assertEquals } from "@std/assert";
const { ContextManager } = Deno.telemetry;
const cm = new ContextManager();
const a = cm.active();
const b = a.setValue("b", 1);
const c = b.setValue("c", 2);
const subB = c.deleteValue("b");
const subC = subB.deleteValue("c");
assertEquals(a.getValue("b"), undefined);
assertEquals(b.getValue("b"), 1);
assertEquals(c.getValue("b"), 1);
assertEquals(a.getValue("c"), undefined);
assertEquals(b.getValue("c"), undefined);
assertEquals(c.getValue("c"), 2);
assertEquals(subB.getValue("b"), undefined);
assertEquals(subB.getValue("c"), 2);
assertEquals(subC.getValue("b"), undefined);
assertEquals(subC.getValue("c"), undefined);