Files
love/testing/tests/system.lua
T
ell 09d0ace4b6 finished a bunch of modules
- finished audio module
- finished data module
- finished filesystem module
- finished font module (note: glphy test fails, but seems to be a 12.0 issue)
- finished image module
- finished maths module
- finished sound module
- finished thread module
- finished video module
- fixed pcall error not showing in results for invalid test code
2023-10-14 18:18:53 +01:00

84 lines
2.6 KiB
Lua

-- love.system
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
----------------------------------METHODS---------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-- love.system.getClipboardText
love.test.system.getClipboardText = function(test)
-- ignore if not using window
if love.test.windowmode == false then
return test:skipTest('clipboard only available in window mode')
end
-- check clipboard value is set
love.system.setClipboardText('helloworld')
test:assertEquals('helloworld', love.system.getClipboardText(), 'check clipboard match')
end
-- love.system.getOS
love.test.system.getOS = function(test)
-- check os is in documented values
local os = love.system.getOS()
local options = {'OS X', 'Windows', 'Linux', 'Android', 'iOS'}
test:assertMatch(options, os, 'check value matches')
end
-- love.system.getPowerInfo
love.test.system.getPowerInfo = function(test)
-- check battery state is one of the documented states
local state, percent, seconds = love.system.getPowerInfo()
local states = {'unknown', 'battery', 'nobattery', 'charging', 'charged'}
test:assertMatch(states, state, 'check value matches')
-- if percent/seconds check within expected range
if percent ~= nil then
test:assertRange(percent, 0, 100, 'check battery percent within range')
end
if seconds ~= nil then
test:assertNotNil(seconds)
end
end
-- love.system.getProcessorCount
love.test.system.getProcessorCount = function(test)
test:assertNotNil(love.system.getProcessorCount()) -- youd hope right
end
-- love.system.hasBackgroundMusic
love.test.system.hasBackgroundMusic = function(test)
test:assertNotNil(love.system.hasBackgroundMusic())
end
-- love.system.openURL
love.test.system.openURL = function(test)
test:skipTest('cant test this worked')
--test:assertNotEquals(nil, love.system.openURL('https://love2d.org'), 'check open URL')
end
-- love.system.getClipboardText
love.test.system.setClipboardText = function(test)
-- ignore if not using window
if love.test.windowmode == false then
return test:skipTest('clipboard only available in window mode')
end
-- check value returned is what was set
love.system.setClipboardText('helloworld')
test:assertEquals('helloworld', love.system.getClipboardText(), 'check set text')
end
-- love.system.vibrate
-- @NOTE cant really test this
love.test.system.vibrate = function(test)
test:skipTest('cant test this worked')
end