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

Function TestValueInternalStateHelpers

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

Source from the content-addressed store, hash-verified

1718}
1719
1720func 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
1755func TestValueBoundaryFailClosedAfterContextCloseStress(t *testing.T) {
1756 useStableOwnerHooksForLegacySubtests(t)

Callers

nothing calls this directly

Calls 10

hasValidContextMethod · 0.95
isAliveMethod · 0.95
belongsToMethod · 0.95
CloseMethod · 0.95
NewContextMethod · 0.95
CloseMethod · 0.95
NewInt32Method · 0.95
sameContextFunction · 0.85
NewRuntimeFunction · 0.85
FreeMethod · 0.45

Tested by

no test coverage detected