Me gustaría probar que el objeto tiene una propiedad con el nombre ["
En el nodo js puedo definir el objeto "x" con la propiedad "[\""
> x = {"[\"": 2} { '["': 2 } > x["[\""] 2y por supuesto
> '["' === "[\"" truepero cuando escribí prueba
expect({"[\"": 2}).toHaveProperty("[\"")Recibí un error:
Error: expect(received).toHaveProperty(path) Expected path: "[\"" Received path: [] Received value: {"[\"": 2}Estas versiones tampoco funcionan.
expect({"[\"": 2}).toHaveProperty(`["`); const p = `["`; expect({[p]: 2}).toHaveProperty(p);Hubo una hipótesis de que es debido a las bibliotecas.
"esbuild-jest": "^0.5.0", "esbuild-node-tsc": "^1.8.5", "jest-text-transformer": "^1.0.2", Pero creé un proyecto js puro con solo jest@^27.5.1 instalado y reproducido
Había una hipótesis de que depende del sistema operativo. Lo reproduje en Macbook Pro y Arch Linux. Para node js versiones 12, 14, 16.
Solución de trabajo:
expect({"[\"": 2}[`["`]).toBeDefined();