aboutsummaryrefslogtreecommitdiff
path: root/third-party/utfTerminalDetailed.lua
blob: 5a52dfa95829fdfa52a80c43822b52ef6e1f37eb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-- busted output handler that immediately prints file and test names before
-- tests are executed. It simplifies identifying which tests are
-- hanging/crashing
if package.config:sub(1,1) == '\\' and not os.getenv("ANSICON") then
  -- Disable colors on Windows.
  colors = setmetatable({}, {__index = function() return function(s) return s end end})
else
  colors = require 'term.colors'
end

return function(options, busted)
  local handler = require 'busted.outputHandlers.utfTerminal'(options, busted)

  handler.fileStart = function(name)
    io.write('\n' .. colors.cyan(name) .. ':')
  end

  handler.testStart = function(element, parent, status, debug)
    io.write('\n  ' .. handler.getFullName(element) .. ' ... ')
    io.flush()
  end

  busted.subscribe({ 'file', 'start' }, handler.fileStart)
  busted.subscribe({ 'test', 'start' }, handler.testStart)

  return handler
end