(t *testing.T)
| 1718 | } |
| 1719 | |
| 1720 | func TestValueInternalStateHelpers(t *testing.T) { |
| 1721 | var nilValue *Value |
| 1722 | require.False(t, nilValue.hasValidContext()) |
| 1723 | require.False(t, nilValue.isAlive()) |
| 1724 | require.False(t, nilValue.belongsTo(nil)) |
| 1725 | require.False(t, sameContext(nilValue, nil)) |
| 1726 | |
| 1727 | rt := NewRuntime() |
| 1728 | defer rt.Close() |
| 1729 | ctx1 := rt.NewContext() |
| 1730 | defer ctx1.Close() |
| 1731 | ctx2 := rt.NewContext() |
| 1732 | defer ctx2.Close() |
| 1733 | |
| 1734 | v1 := ctx1.NewInt32(1) |
| 1735 | v2 := ctx1.NewInt32(2) |
| 1736 | v3 := ctx2.NewInt32(3) |
| 1737 | defer v1.Free() |
| 1738 | defer v2.Free() |
| 1739 | defer v3.Free() |
| 1740 | |
| 1741 | require.True(t, v1.hasValidContext()) |
| 1742 | require.True(t, v1.isAlive()) |
| 1743 | require.True(t, v1.belongsTo(ctx1)) |
| 1744 | require.False(t, v1.belongsTo(ctx2)) |
| 1745 | require.True(t, sameContext(v1, v2)) |
| 1746 | require.False(t, sameContext(v1, v3)) |
| 1747 | require.False(t, sameContext(v1, nil)) |
| 1748 | |
| 1749 | ctx1.Close() |
| 1750 | require.False(t, v1.isAlive()) |
| 1751 | require.False(t, v1.belongsTo(ctx1)) |
| 1752 | require.False(t, sameContext(v1, v2)) |
| 1753 | } |
| 1754 | |
| 1755 | func TestValueBoundaryFailClosedAfterContextCloseStress(t *testing.T) { |
| 1756 | useStableOwnerHooksForLegacySubtests(t) |
nothing calls this directly
no test coverage detected