(t *testing.T)
| 61 | } |
| 62 | |
| 63 | func 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 | |
| 107 | func TestValueObjectControlAPIs(t *testing.T) { |
| 108 | useStableOwnerHooksForLegacySubtests(t) |
nothing calls this directly
no test coverage detected