Skip to content

Commit 572a5e1

Browse files
committed
Merge branch 'unit-test-suite'
2 parents c903138 + 69e6e0b commit 572a5e1

4 files changed

Lines changed: 888 additions & 12 deletions

File tree

modules/DependencyControl.moon

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ UpdateFeed = require "l0.DependencyControl.UpdateFeed"
77
ConfigHandler = require "l0.DependencyControl.ConfigHandler"
88
fileOps = require "l0.DependencyControl.FileOps"
99
Updater = require "l0.DependencyControl.Updater"
10+
UnitTestSuite = require "l0.DependencyControl.UnitTestSuite"
1011
DownloadManager = require "DM.DownloadManager"
1112
PreciseTimer = require "PT.PreciseTimer"
1213

@@ -75,6 +76,7 @@ class DependencyControl
7576
@UpdateFeed = UpdateFeed
7677
@Logger = Logger
7778
@Updater = Updater
79+
@UnitTestSuite = UnitTestSuite
7880
@FileOps = fileOps
7981

8082
automationDir: {macros: aegisub.decode_path("?user/automation/autoload"),
@@ -128,6 +130,7 @@ class DependencyControl
128130

129131
@configFile = configFile or "#{@namespace}.json"
130132
@automationDir = @@automationDir[@type]
133+
@testDir = UnitTestSuite.testDir[@type]
131134
@version, err = @getVersionNumber version
132135
assert @version, msgs.new.badRecordError\format msgs.new.badRecord.badVersion\format err
133136

@@ -439,10 +442,24 @@ class DependencyControl
439442
reqVersion = reqVersion and " (v#{reqVersion})" or ""
440443
return msgs.formatVersionErrorTemplate.missing\format name, reqVersion, url, reason
441444

445+
registerTests: (...) =>
446+
-- load external tests
447+
haveTests, tests = pcall require, "DepUnit.#{@type}.#{@namespace}"
442448

443-
register: (selfRef) =>
449+
if haveTests and not @testsLoaded
450+
@tests, tests.name = tests, @name
451+
modules = table.pack @requireModules!
452+
if @moduleName
453+
@tests\import @ref, modules, ...
454+
else @tests\import modules, ...
455+
456+
@tests\registerMacros!
457+
@testsLoaded = true
458+
459+
register: (selfRef, ...) =>
444460
-- replace dummy refs with real refs to own module
445461
@ref.__index, @ref, LOADED_MODULES[@moduleName] = selfRef, selfRef, selfRef
462+
@registerTests selfRef, ...
446463
return selfRef
447464

448465
registerMacro: (name=@name, description=@description, process, validate, isActive, useSubmenu) =>

modules/DependencyControl/Logger.moon

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ class Logger
4242
@fileName = @fileTemplate\format aegisub.decode_path(@logDir), os.date("%Y-%m-%d-%H-%M-%S"),
4343
math.random(0, 16^4-1), @fileBaseName, @fileSubName
4444

45-
logEx: (level = @defaultLevel, msg = "", insertLineFeed = true, prefix = @prefix, ...) =>
45+
logEx: (level = @defaultLevel, msg = "", insertLineFeed = true, prefix = @prefix, indent = @indent, ...) =>
4646
return false if msg == ""
4747

4848
prefixWin = @usePrefixWindow and prefix or ""
4949
lineFeed = insertLineFeed and "\n" or ""
50-
indentStr = @indent==0 and "" or @indentStr\rep(@indent) .. " "
51-
msg = @lastHadLineFeed and @format(msg, @indent, ...) or msg\format ...
50+
indentStr = indent==0 and "" or @indentStr\rep(indent) .. " "
51+
msg = @lastHadLineFeed and @format(msg, indent, ...) or msg\format ...
5252

5353
show = aegisub.log and @toWindow
5454
if @toFile and level <= @maxToFileLevel
@@ -80,8 +80,8 @@ class Logger
8080
return false unless level or msg
8181

8282
if "number" != type level
83-
return @logEx @defaultLevel, level, true, nil, msg, ...
84-
else return @logEx level, msg, true, nil, ...
83+
return @logEx @defaultLevel, level, true, nil, nil, msg, ...
84+
else return @logEx level, msg, true, nil, nil, ...
8585

8686
fatal: (...) => @log 0, ...
8787
error: (...) => @log 1, ...
@@ -103,7 +103,7 @@ class Logger
103103
unless @progressStep
104104
@progressStep = 0
105105
msg ..= " " if #msg>0
106-
@logEx nil, "#{msg}[", false, nil, ...
106+
@logEx nil, "#{msg}[", false, nil, nil, ...
107107
step = math.floor(progress * 0.01 + 0.5) / 0.1
108108
@logEx nil, ""\rep(step-@progressStep), false, ""
109109
@progressStep = step

0 commit comments

Comments
 (0)