mirror of
https://github.com/love2d/love.git
synced 2026-08-12 00:20:52 +02:00
Test: Add tests for love.sensors.
This commit is contained in:
@@ -2,6 +2,51 @@
|
||||
-- @NOTE we can't test this module fully as it's hardware dependent
|
||||
-- however we can test methods do what is expected and can handle certain params
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------
|
||||
------------------------------------HELPERS-------------------------------------
|
||||
--------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
local function testIsEnabled(test, sensorType)
|
||||
love.sensor.setEnabled(sensorType, true)
|
||||
test:assertTrue(love.sensor.isEnabled(sensorType), 'check ' .. sensorType .. ' enabled')
|
||||
love.sensor.setEnabled(sensorType, false)
|
||||
test:assertFalse(love.sensor.isEnabled(sensorType), 'check ' .. sensorType .. ' disabled')
|
||||
end
|
||||
|
||||
|
||||
local function testGetName(test, sensorType)
|
||||
love.sensor.setEnabled(sensorType, true)
|
||||
local ok, name = pcall(love.sensor.getName, sensorType)
|
||||
test:assertTrue(ok, 'check sensor.getName("' .. sensorType .. '") success')
|
||||
test:assertEquals(type(name), 'string', 'check sensor.getName("' .. sensorType .. '") return value type')
|
||||
|
||||
love.sensor.setEnabled(sensorType, false)
|
||||
ok, name = pcall(love.sensor.getName, sensorType)
|
||||
test:assertFalse(ok, 'check sensor.getName("' .. sensorType .. '") errors when disabled')
|
||||
|
||||
love.sensor.setEnabled(sensorType, false)
|
||||
ok, x, y, z = pcall(love.sensor.getData, sensorType)
|
||||
test:assertFalse(ok, 'check sensor.getData("' .. sensorType .. '") errors when disabled')
|
||||
end
|
||||
|
||||
|
||||
local function testGetData(test, sensorType)
|
||||
love.sensor.setEnabled(sensorType, true)
|
||||
local ok, x, y, z = pcall(love.sensor.getData, sensorType)
|
||||
test:assertTrue(ok, 'check sensor.getData("' .. sensorType .. '") success')
|
||||
if ok then
|
||||
test:assertNotNil(x)
|
||||
test:assertNotNil(y)
|
||||
test:assertNotNil(z)
|
||||
end
|
||||
|
||||
love.sensor.setEnabled(sensorType, false)
|
||||
ok, x, y, z = pcall(love.sensor.getData, sensorType)
|
||||
test:assertFalse(ok, 'check sensor.getData("' .. sensorType .. '") errors when disabled')
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------
|
||||
------------------------------------METHODS-------------------------------------
|
||||
@@ -17,3 +62,45 @@ love.test.sensor.hasSensor = function(test)
|
||||
test:assertNotNil(accelerometer)
|
||||
test:assertNotNil(gyroscope)
|
||||
end
|
||||
|
||||
|
||||
-- love.sensor.isEnabled and love.sensor.setEnabled
|
||||
love.test.sensor.isEnabled = function(test)
|
||||
local accelerometer = love.sensor.hasSensor('accelerometer')
|
||||
local gyroscope = love.sensor.hasSensor('gyroscope')
|
||||
|
||||
if accelerometer or gyroscope then
|
||||
if accelerometer then testIsEnabled(test, 'accelerometer') end
|
||||
if gyroscope then testIsEnabled(test, 'gyroscope') end
|
||||
else
|
||||
test:skipTest('neither accelerometer nor gyroscope are supported in this system')
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- love.sensor.getName
|
||||
love.test.sensor.getName = function(test)
|
||||
local accelerometer = love.sensor.hasSensor('accelerometer')
|
||||
local gyroscope = love.sensor.hasSensor('gyroscope')
|
||||
|
||||
if accelerometer or gyroscope then
|
||||
if accelerometer then testGetName(test, 'accelerometer') end
|
||||
if gyroscope then testGetName(test, 'gyroscope') end
|
||||
else
|
||||
test:skipTest('neither accelerometer nor gyroscope are supported in this system')
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- love.sensor.getData
|
||||
love.test.sensor.getData = function(test)
|
||||
local accelerometer = love.sensor.hasSensor('accelerometer')
|
||||
local gyroscope = love.sensor.hasSensor('gyroscope')
|
||||
|
||||
if accelerometer or gyroscope then
|
||||
if accelerometer then testGetData(test, 'accelerometer') end
|
||||
if gyroscope then testGetData(test, 'gyroscope') end
|
||||
else
|
||||
test:skipTest('neither accelerometer nor gyroscope are supported in this system')
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user