|
|
|
@ -2,6 +2,7 @@ local testing = require('testing_util')
|
|
|
|
|
local util = require('openmw.util')
|
|
|
|
|
local world = require('openmw.world')
|
|
|
|
|
local core = require('openmw.core')
|
|
|
|
|
local types = require('openmw.types')
|
|
|
|
|
|
|
|
|
|
if not core.contentFiles.has('Morrowind.esm') then
|
|
|
|
|
error('This test requires Morrowind.esm')
|
|
|
|
@ -18,6 +19,28 @@ local tests = {
|
|
|
|
|
coroutine.yield()
|
|
|
|
|
testing.runLocalTest(world.players[1], 'Guard in Imperial Prison Ship should find path (#7241)')
|
|
|
|
|
end},
|
|
|
|
|
{'Should keep reference to an object moved into container (#7663)', function()
|
|
|
|
|
world.players[1]:teleport('ToddTest', util.vector3(2176, 3648, -191), util.transform.rotateZ(math.rad(0)))
|
|
|
|
|
coroutine.yield()
|
|
|
|
|
local barrel = world.createObject('barrel_01', 1)
|
|
|
|
|
local fargothRing = world.createObject('ring_keley', 1)
|
|
|
|
|
coroutine.yield()
|
|
|
|
|
testing.expectEqual(types.Container.inventory(barrel):find('ring_keley'), nil)
|
|
|
|
|
fargothRing:moveInto(types.Container.inventory(barrel))
|
|
|
|
|
coroutine.yield()
|
|
|
|
|
testing.expectEqual(fargothRing.recordId, 'ring_keley')
|
|
|
|
|
local isFargothRing = function(actual)
|
|
|
|
|
if actual == nil then
|
|
|
|
|
return 'ring_keley is not found'
|
|
|
|
|
end
|
|
|
|
|
if actual.id ~= fargothRing.id then
|
|
|
|
|
return 'found ring_keley id does not match expected: actual=' .. tostring(actual.id)
|
|
|
|
|
.. ', expected=' .. tostring(fargothRing.id)
|
|
|
|
|
end
|
|
|
|
|
return ''
|
|
|
|
|
end
|
|
|
|
|
testing.expectThat(types.Container.inventory(barrel):find('ring_keley'), isFargothRing)
|
|
|
|
|
end},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|