From 0b9c9d6ddb9858ca16afdeb11eb9e22c4ab9563e Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 21 Jan 2017 05:58:01 -0800 Subject: [PATCH] test(chore): remove side effects --- spec/unit/eink_optimization_spec.lua | 6 ++- spec/unit/gesturerange_spec.lua | 12 +++-- spec/unit/httpclient_spec.lua | 12 +++-- spec/unit/kosync_spec.lua | 77 ++++++++++++++------------ spec/unit/opds_spec.lua | 20 ++++--- spec/unit/spore_spec.lua | 81 +++++++++++++++------------- 6 files changed, 114 insertions(+), 94 deletions(-) diff --git a/spec/unit/eink_optimization_spec.lua b/spec/unit/eink_optimization_spec.lua index bfaf82253..891bdc5aa 100644 --- a/spec/unit/eink_optimization_spec.lua +++ b/spec/unit/eink_optimization_spec.lua @@ -1,6 +1,8 @@ -require("commonrequire") - describe("eink optimization setting", function() + setup(function() + require("commonrequire") + end) + it("should be correctly loaded", function() G_reader_settings:saveSetting("eink", true) assert.Equals(require("device").screen.eink, true) diff --git a/spec/unit/gesturerange_spec.lua b/spec/unit/gesturerange_spec.lua index 89be942c7..f710f8d6c 100644 --- a/spec/unit/gesturerange_spec.lua +++ b/spec/unit/gesturerange_spec.lua @@ -1,9 +1,11 @@ -require("commonrequire") - -local GestureRange = require("ui/gesturerange") -local Geom = require("ui/geometry") - describe("gesturerange module", function() + local GestureRange, Geom + setup(function() + require("commonrequire") + GestureRange = require("ui/gesturerange") + Geom = require("ui/geometry") + end) + it("should match tap event within range", function() local g = GestureRange:new{ ges = "tap", diff --git a/spec/unit/httpclient_spec.lua b/spec/unit/httpclient_spec.lua index 46f6cc4f7..f508e38c0 100644 --- a/spec/unit/httpclient_spec.lua +++ b/spec/unit/httpclient_spec.lua @@ -1,12 +1,13 @@ -require("commonrequire") -local UIManager = require("ui/uimanager") -local DEBUG = require("dbg") ---DEBUG:turnOn() - -- set true to test httpclient DUSE_TURBO_LIB = false describe("HTTP client module #notest #nocov", function() + local UIManager + setup(function() + require("commonrequire") + UIManager = require("ui/uimanager") + end) + local requests = 0 local function response_callback(res) requests = requests - 1 @@ -14,6 +15,7 @@ describe("HTTP client module #notest #nocov", function() assert(not res.error, "error occurs") assert(res.body) end + it("should get response from async GET request", function() local HTTPClient = require("httpclient") local async_client = HTTPClient:new() diff --git a/spec/unit/kosync_spec.lua b/spec/unit/kosync_spec.lua index 72acb1624..a12a94f35 100644 --- a/spec/unit/kosync_spec.lua +++ b/spec/unit/kosync_spec.lua @@ -1,9 +1,3 @@ -require("commonrequire") -local UIManager = require("ui/uimanager") -local DEBUG = require("dbg") -local md5 = require("ffi/MD5") ---DEBUG:turnOn() - local service = [[ { "base_url" : "https://vislab.bjmu.edu.cn:7200", @@ -57,26 +51,36 @@ local service = [[ ]] describe("KOSync modules #notest #nocov", function() - local HTTPClient = require("httpclient") - local Spore = require("Spore") - local client = Spore.new_from_string(service) - package.loaded['Spore.Middleware.GinClient'] = {} - require('Spore.Middleware.GinClient').call = function(self, req) - req.headers['accept'] = "application/vnd.koreader.v1+json" - end - package.loaded['Spore.Middleware.KOSyncAuth'] = {} - require('Spore.Middleware.KOSyncAuth').call = function(args, req) - req.headers['x-auth-user'] = args.username - req.headers['x-auth-key'] = args.userkey - end - -- password should be hashed before submitting to server - local username, password = "koreader", md5.sum("koreader") - -- fake progress data - local doc, percentage, progress, device = - "41cce710f34e5ec21315e19c99821415", -- fast digest of the document - 0.356, -- percentage of the progress - "69", -- page number or xpointer - "my kpw" -- device name + local UIManager, logger, md5, client + local username, password, doc, percentage, progress, device + + setup(function() + require("commonrequire") + UIManager = require("ui/uimanager") + logger = require("logger") + md5 = require("ffi/MD5") + local HTTPClient = require("httpclient") + local Spore = require("Spore") + client = Spore.new_from_string(service) + package.loaded['Spore.Middleware.GinClient'] = {} + require('Spore.Middleware.GinClient').call = function(self, req) + req.headers['accept'] = "application/vnd.koreader.v1+json" + end + package.loaded['Spore.Middleware.KOSyncAuth'] = {} + require('Spore.Middleware.KOSyncAuth').call = function(args, req) + req.headers['x-auth-user'] = args.username + req.headers['x-auth-key'] = args.userkey + end + -- password should be hashed before submitting to server + username, password = "koreader", md5.sum("koreader") + -- fake progress data + doc, percentage, progress, device = + "41cce710f34e5ec21315e19c99821415", -- fast digest of the document + 0.356, -- percentage of the progress + "69", -- page number or xpointer + "my kpw" -- device name + end) + it("should create new user", function() client:reset_middlewares() client:enable('Format.JSON') @@ -89,14 +93,15 @@ describe("KOSync modules #notest #nocov", function() end) if ok then if res.status == 200 then - DEBUG("register successful to ", res.body.username) + logger.dbg("register successful to ", res.body.username) elseif res.status == 402 then - DEBUG("register unsuccessful: ", res.body.message) + logger.dbg("register unsuccessful: ", res.body.message) end else - DEBUG("Please retry later", res) + logger.dbg("Please retry later", res) end end) + it("should authorize user", function() client:reset_middlewares() client:enable('Format.JSON') @@ -112,12 +117,13 @@ describe("KOSync modules #notest #nocov", function() if res.status == 200 then assert.are.same("OK", res.body.authorized) else - DEBUG(res.body) + logger.dbg(res.body) end else - DEBUG("Please retry later", res) + logger.dbg("Please retry later", res) end end) + it("should update progress", function() client:reset_middlewares() client:enable('Format.JSON') @@ -141,12 +147,13 @@ describe("KOSync modules #notest #nocov", function() assert.are.same(percentage, result.percentage) assert.are.same(device, result.device) else - DEBUG(res.body.message) + logger.dbg(res.body.message) end else - DEBUG("Please retry later", res) + logger.dbg("Please retry later", res) end end) + it("should get progress", function() client:reset_middlewares() client:enable('Format.JSON') @@ -167,10 +174,10 @@ describe("KOSync modules #notest #nocov", function() assert.are.same(percentage, result.percentage) assert.are.same(device, result.device) else - DEBUG(res.body.message) + logger.dbg(res.body.message) end else - DEBUG("Please retry later", res) + logger.dbg("Please retry later", res) end end) diff --git a/spec/unit/opds_spec.lua b/spec/unit/opds_spec.lua index ace2fb4d6..2405dd0d6 100644 --- a/spec/unit/opds_spec.lua +++ b/spec/unit/opds_spec.lua @@ -1,4 +1,3 @@ - local navigation_sample = [[