mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-18 19:54:21 +02:00
updated skin studio
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
-- Driver: the studio's side of the alt-tab crash. Leaving the window mid-drag
|
||||
-- must drop the drag and the queued click and still draw; main.lua's routing of
|
||||
-- love.focus / love.visible / pad events while the studio owns the window is
|
||||
-- pinned by tests/engine/skin_studio_image_import.lua (a driver run boots a
|
||||
-- game, so main.lua's Studio branch is not live here).
|
||||
-- POKEPORT_DRIVER=tests/drivers/skin_studio_focus_test.lua love .
|
||||
return function(game)
|
||||
local U = dofile("tests/drivers/util.lua")
|
||||
local Studio = require("src.ui.SkinStudio")
|
||||
local TouchControls = require("src.core.TouchControls")
|
||||
|
||||
love.window.setMode(1280, 720, { resizable = true, highdpi = true })
|
||||
U.wait(2)
|
||||
|
||||
Studio.load({ version = "red", skinId = "gb_anim", onClose = function() end })
|
||||
U.wait(2)
|
||||
U.log("skin:", Studio.skin and Studio.skin.id)
|
||||
|
||||
Studio.drag = { kind = "control-move", mx = 1, my = 1, bx = 0, by = 0,
|
||||
bw = 10, bh = 10 }
|
||||
Studio.clicked = true
|
||||
local okFocus, errFocus = pcall(Studio.focus, false)
|
||||
U.log("focus lost:", okFocus, errFocus or "")
|
||||
U.log("drag:", tostring(Studio.drag), "click:", tostring(Studio.clicked))
|
||||
local droppedDrag = Studio.drag == nil and Studio.clicked == false
|
||||
|
||||
-- a held test press must not survive the trip out of the window either
|
||||
Studio.testing = true
|
||||
TouchControls:setPreview(false)
|
||||
TouchControls.held = TouchControls.held or {}
|
||||
TouchControls.held.start = true
|
||||
pcall(Studio.focus, false)
|
||||
local held = next(TouchControls.held or {})
|
||||
U.log("held after focus loss:", tostring(held))
|
||||
|
||||
local okVisible = pcall(Studio.visible, false)
|
||||
U.log("minimize:", okVisible)
|
||||
|
||||
local okDraw, errDraw = pcall(Studio.draw)
|
||||
U.log("draw after alt-tab:", okDraw, errDraw or "")
|
||||
|
||||
Studio.unload()
|
||||
|
||||
if droppedDrag and held == nil and okVisible and okDraw then
|
||||
U.log("RESULT pass")
|
||||
else
|
||||
U.log("RESULT FAIL")
|
||||
end
|
||||
love.event.quit()
|
||||
while true do coroutine.yield() end
|
||||
end
|
||||
Reference in New Issue
Block a user