Commit b89415d7 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent e7efba73
......@@ -421,10 +421,12 @@ func newGhost(class string, oid Oid, jar *Connection) IPersistent {
xpobj = reflect.New(zc.typ)
}
base := &Persistent{jar: jar, oid: oid, serial: 0, state: GHOST}
xobj := xpobj.Elem() // typ
xobjBase := xobj.FieldByName("IPersistent") // FIXME -> Persistent
xobjBase.Set(reflect.ValueOf(base))
base := xobj.FieldByName("Persistent").Addr().Interface().(*Persistent)
base.jar = jar
base.oid = oid
base.serial = 0
base.state = GHOST
obj := xpobj.Interface()
//base.instance = obj.(interface{IPersistent; Ghostable; Stateful})
......
......@@ -66,13 +66,13 @@ func TestPersistent(t *testing.T) {
}
// XXX .zclass ?
assert.Equal(obj.jar, nil)
assert.Equal(obj.oid, 11)
assert.Equal(obj.serial, 0)
assert.Equal(obj.jar, (*Connection)(nil))
assert.Equal(obj.oid, Oid(11))
assert.Equal(obj.serial, Tid(0))
assert.Equal(obj.state, GHOST)
assert.Equal(obj.refcnt, 0)
assert.Equal(obj.refcnt, int32(0))
assert.Equal(obj.instance, obj)
assert.Equal(obj.loading, nil)
assert.Equal(obj.loading, (*loadState)(nil))
}
// XXX reenable
......@@ -91,7 +91,7 @@ func _TestBroken(t *testing.T) {
assert.Equal(obj.class, "t.unknown")
assert.Equal(obj.state, nil)
assert.Equal(obj.jar, nil)
assert.Equal(obj.jar, (*Connection)(nil))
assert.Equal(obj.oid, 11)
assert.Equal(obj.serial, 0)
assert.Equal(obj.state, GHOST)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment