mirror of
https://github.com/bryanthaboi/gen1recomp
synced 2026-10-07 17:31:35 -04:00
38 lines
1.7 KiB
Lua
38 lines
1.7 KiB
Lua
package.path="./?.lua;./?/init.lua;"..package.path
|
|
love=love or require("tests.love_stub")
|
|
local T=require("tests.harness")
|
|
local Importer=require("src.import.RomImporter")
|
|
local Panel=require("src.import.BoxPanel")
|
|
local Transition=require("src.ui.kit.Transition")
|
|
local clock=10
|
|
local oldTime,oldRefresh=love.timer.getTime,Panel.refresh
|
|
love.timer.getTime=function() return clock end
|
|
Panel.refresh=function(self) clock=clock+.7;self._boxState={};return self._boxState end
|
|
local imp=setmetatable({_disarmTextInput=function() end,_setModScope=function() end,
|
|
_queueReimport=function() end,_ensureSkins=function() clock=clock+.3 end}, {__index=Importer})
|
|
Transition.armed,Transition.reduceMotion=true,false
|
|
local tabs={"red","box","mods","online","skins"}
|
|
for _,from in ipairs(tabs) do
|
|
for _,to in ipairs(tabs) do
|
|
if from~=to then
|
|
imp.tab=from
|
|
imp:_switchTab(to)
|
|
Transition.update()
|
|
local tr=Transition.get("tabs")
|
|
T.check(tr~=nil,from.." → "..to.." starts after loading completes")
|
|
T.eq(tr.from,from,"outgoing page retained")
|
|
T.eq(tr.to,to,"incoming page retained")
|
|
T.eq(tr.p,0,"first frame has whole slide remaining")
|
|
clock=clock+.09;Transition.update()
|
|
T.check(Transition.progress("tabs")>0 and Transition.progress("tabs")<1,"midpoint still slides")
|
|
clock=clock+.1;Transition.update()
|
|
T.eq(Transition.get("tabs"),nil,"slide finishes")
|
|
end
|
|
end
|
|
end
|
|
Transition.reduceMotion=true;imp.tab="red";imp:_switchTab("box")
|
|
T.eq(Transition.get("tabs"),nil,"reduced motion still disables Box slide")
|
|
love.timer.getTime,Panel.refresh=oldTime,oldRefresh
|
|
Transition.armed,Transition.reduceMotion=false,false;Transition.clear("tabs")
|
|
T.finish("launcher_box_transition")
|