2
0
mirror of https://github.com/koreader/koreader synced 2024-10-31 21:20:20 +00:00
koreader/spec/unit/gesturedetector_spec.lua
ezdiy d59a3e217e
Pocketbook: Implement HW screen rotation, bring in PB specific kludges from linuxfb (#6684)
* Uses bunch of new plumbing in base to configure screen rotations in hardware (koreader normally does this via blit buffer rotations, except for android).

* Some PB specific kludges that used to pollute core/framebuffer_linux are brought into PBs frontend driver.
2020-09-22 22:04:37 +02:00

56 lines
2.7 KiB
Lua

describe("gesturedetector module", function()
local GestureDetector
setup(function()
require("commonrequire")
GestureDetector = require("device/gesturedetector")
end)
describe("adjustGesCoordinate", function()
local function adjustTest(ges_type, direction, rotation_mode)
local ges = {
ges = ges_type,
direction = direction,
multiswipe_directions = direction,
}
GestureDetector.screen = {
ORIENTATION_PORTRAIT = 0,
ORIENTATION_LANDSCAPE = 1,
ORIENTATION_PORTRAIT_ROTATED = 2,
ORIENTATION_LANDSCAPE_ROTATED = 3,
}
GestureDetector.screen.getTouchRotation = function() return rotation_mode end
return GestureDetector:adjustGesCoordinate(ges).direction
end
it("should not translate rotation 0", function()
assert.are.equal("north", adjustTest("swipe", "north", 0))
assert.are.equal("north", adjustTest("multiswipe", "north", 0))
assert.are.equal("north", adjustTest("pan", "north", 0))
assert.are.equal("north", adjustTest("two_finger_swipe", "north", 0))
assert.are.equal("north", adjustTest("two_finger_pan", "north", 0))
end)
it("should translate rotation 270", function()
assert.are.equal("west", adjustTest("swipe", "north", 3))
assert.are.equal("west", adjustTest("multiswipe", "north", 3))
assert.are.equal("west", adjustTest("pan", "north", 3))
assert.are.equal("west", adjustTest("two_finger_swipe", "north", 3))
assert.are.equal("west", adjustTest("two_finger_pan", "north", 3))
end)
it("should translate rotation 180", function()
assert.are.equal("south", adjustTest("swipe", "north", 2))
assert.are.equal("south", adjustTest("multiswipe", "north", 2))
assert.are.equal("south", adjustTest("pan", "north", 2))
assert.are.equal("south", adjustTest("two_finger_swipe", "north", 2))
assert.are.equal("south", adjustTest("two_finger_pan", "north", 2))
end)
it("should translate rotation 90", function()
assert.are.equal("east", adjustTest("swipe", "north", 1))
assert.are.equal("east", adjustTest("multiswipe", "north", 1))
assert.are.equal("east", adjustTest("pan", "north", 1))
assert.are.equal("east", adjustTest("two_finger_swipe", "north", 1))
assert.are.equal("east", adjustTest("two_finger_pan", "north", 1))
end)
end)
end)