MCPcopy Create free account
hub / github.com/buke/quickjs-go / TestValueComparisonAPIs

Function TestValueComparisonAPIs

value_test.go:63–105  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

61}
62
63func TestValueComparisonAPIs(t *testing.T) {
64 useStableOwnerHooksForLegacySubtests(t)
65
66 rt := NewRuntime()
67 defer rt.Close()
68 ctx := rt.NewContext()
69 defer ctx.Close()
70
71 one := ctx.NewInt32(1)
72 defer one.Free()
73 oneStr := ctx.NewString("1")
74 defer oneStr.Free()
75
76 require.True(t, one.Equal(oneStr))
77 require.False(t, one.StrictEqual(oneStr))
78
79 nanA := ctx.Eval("NaN")
80 defer nanA.Free()
81 nanB := ctx.Eval("NaN")
82 defer nanB.Free()
83 require.False(t, nanA.Equal(nanB))
84 require.False(t, nanA.StrictEqual(nanB))
85 require.True(t, nanA.SameValue(nanB))
86 require.True(t, nanA.SameValueZero(nanB))
87
88 plusZero := ctx.Eval("+0")
89 defer plusZero.Free()
90 minusZero := ctx.Eval("-0")
91 defer minusZero.Free()
92 require.True(t, plusZero.Equal(minusZero))
93 require.True(t, plusZero.StrictEqual(minusZero))
94 require.False(t, plusZero.SameValue(minusZero))
95 require.True(t, plusZero.SameValueZero(minusZero))
96
97 ctx2 := rt.NewContext()
98 defer ctx2.Close()
99 other := ctx2.NewInt32(1)
100 defer other.Free()
101 require.False(t, one.Equal(other))
102 require.False(t, one.StrictEqual(other))
103 require.False(t, one.SameValue(other))
104 require.False(t, one.SameValueZero(other))
105}
106
107func TestValueObjectControlAPIs(t *testing.T) {
108 useStableOwnerHooksForLegacySubtests(t)

Callers

nothing calls this directly

Calls 13

CloseMethod · 0.95
NewContextMethod · 0.95
CloseMethod · 0.95
NewInt32Method · 0.95
NewStringMethod · 0.95
EvalMethod · 0.95
NewRuntimeFunction · 0.85
EqualMethod · 0.80
StrictEqualMethod · 0.80
SameValueMethod · 0.80
SameValueZeroMethod · 0.80

Tested by

no test coverage detected