|
@@ -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
|