TAP version 13 not ok 1 - mocha v5.2.0 The canary is dead: ---
# > fsevents@1.2.2 install /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/fsevents
# > node install
# [fsevents] Success: "/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
# Pass --update-binary to reinstall or --build-from-source to recompile
# > canvas@1.6.10 install /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/histogram/node_modules/canvas
# > node-gyp rebuild
# > uws@9.14.0 install /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/uws
# > node-gyp rebuild > build_log.txt 2>&1 || exit 0
# > canvas@1.6.5 install /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/canvas
# > node-gyp rebuild
# > sharp@0.17.3 install /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/sharp
# > node-gyp rebuild
# TOUCH Release/obj.target/libvips-cpp.stamp
# CXX(target) Release/obj.target/sharp/src/common.o
# CXX(target) Release/obj.target/sharp/src/metadata.o
# CXX(target) Release/obj.target/sharp/src/operations.o
# CXX(target) Release/obj.target/sharp/src/pipeline.o
# CXX(target) Release/obj.target/sharp/src/sharp.o
# CXX(target) Release/obj.target/sharp/src/utilities.o
# SOLINK_MODULE(target) Release/sharp.node
# TOUCH Release/obj.target/win_copy_dlls.stamp
# > node-zopfli@2.0.2 install /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/node-zopfli
# > node-pre-gyp install --fallback-to-build
# CXX(target) Release/obj.target/zopfli/src/zopfli-binding.o
# CXX(target) Release/obj.target/zopfli/src/png/zopflipng.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/blocksplitter.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/cache.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/deflate.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/gzip_container.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/hash.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/katajainen.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/lz77.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/squeeze.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/tree.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/util.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/zlib_container.o
# CC(target) Release/obj.target/zopfli/zopfli/src/zopfli/zopfli_lib.o
# CXX(target) Release/obj.target/zopfli/zopfli/src/zopflipng/zopflipng_lib.o
# CXX(target) Release/obj.target/zopfli/zopfli/src/zopflipng/lodepng/lodepng.o
# CXX(target) Release/obj.target/zopfli/zopfli/src/zopflipng/lodepng/lodepng_util.o
# SOLINK_MODULE(target) Release/zopfli.node
# COPY /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/node-zopfli/lib/binding/node-v57-darwin-x64/zopfli.node
# TOUCH Release/obj.target/action_after_build.stamp
# > wd@1.6.2 install /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/wd
# > node scripts/build-browser-scripts
# > husky@0.14.3 install /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/husky
# > node ./bin/install.js
# husky
# CI detected, skipping Git hooks installation
# > sauce-connect-launcher@1.2.4 postinstall /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/sauce-connect-launcher
# > node scripts/install.js || nodejs scripts/install.js
# > jpegtran-bin@3.0.4 postinstall /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/jpegtran-bin
# > node lib/install.js
# > optipng-bin@3.0.2 postinstall /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/optipng-bin
# > node lib/install.js
# > optipng-bin@3.1.4 postinstall /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/optipng/node_modules/optipng-bin
# > node lib/install.js
# > pngcrush-bin@3.0.0 postinstall /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/pngcrush-bin
# > node lib/install.js
# > pngquant-bin@3.1.1 postinstall /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/pngquant-bin
# > node lib/install.js
# added 2100 packages from 1263 contributors and audited 32103 packages in 95.558s
# found 59 vulnerabilities (9 low, 40 moderate, 10 high)
# run `npm audit fix` to fix them, or `npm audit` for details
# > mocha@5.2.0 test /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha
# > nps test
# nps is executing `test` : nps lint test.node test.browser test.bundle
# nps is executing `lint` : nps lint.code lint.markdown
# nps is executing `lint.code` : eslint . "bin/*"
# nps is executing `lint.markdown` : markdownlint "*.md" "docs/**/*.md" ".github/*.md"
# nps is executing `test.node` : nps test.node.bdd test.node.tdd test.node.qunit test.node.exports test.node.unit test.node.integration test.node.jsapi test.node.compilers test.node.requires test.node.reporters test.node.only
# nps is executing `test.node.bdd` : node bin/mocha --ui bdd test/interfaces/bdd.spec
# integer primitives
# arithmetic
# should add
# should subtract
# integer primitives
# arithmetic is not
# should add
# test suite
# share a property
# pending suite
# this is pending suite
# - should not run
# pending tests
# - should not run
# setting timeout by appending it to test
# enables users to call timeout on active tests
# - enables users to call timeout on pending tests
# sets timeout on pending tests
# sets timeout on running tests
# 7 passing (17ms)
# 3 pending
# nps is executing `test.node.tdd` : node bin/mocha --ui tdd test/interfaces/tdd.spec
# integer primitives
# arithmetic
# should add
# should subtract
# - should skip this test
# should skip this suite
# - should skip this test
# 2 passing (16ms)
# 2 pending
# nps is executing `test.node.qunit` : node bin/mocha --ui qunit test/interfaces/qunit.spec
# integer primitives
# should add
# should decrement
# String
#
#length
# 3 passing (13ms)
# nps is executing `test.node.exports` : node bin/mocha --ui exports test/interfaces/exports.spec
# Array
#
#indexOf()
# should return -1 when the value is not present
# should return the correct index when the value is present
# 2 passing (19ms)
# nps is executing `test.node.unit` : node bin/mocha "test/unit/*.spec.js" "test/node-unit/*.spec.js" --growl
# should work
# Context
# nested
# should work
# Context Siblings
# sequestered sibling
# should work
# sibling verifiction
# should not have value set within a sibling describe
# should allow test siblings to modify shared context
# should have reset this.calls before describe
# methods
# timeout()
# should return the timeout
# slow()
# should return the slow
# enableTimeouts()
# should return the enableTimeouts
# retries
# should return the number of retries
# durations
# when slow
# should highlight in red (110ms)
# when reasonable
# should highlight in yellow (60ms)
# when fast
# should not highlight
# global leaks
# should cause tests to fail
# should pass when accepted
# should pass with wildcard
# should pass when prefixed "mocha-"
# Mocha
# "grep" option
# should add a RegExp to the mocha.options object
# should convert string to a RegExp
# "fgrep" option
# should escape and convert string to a RegExp
# .grep()
# should add a RegExp to the mocha.options object
# should convert grep string to a RegExp
# should covert grep regex-like string to a RegExp
# should return its parent Mocha object for chainability
# "invert" option
# should add a Boolean to the mocha.options object
# async
# hooks
# one
# two
# three
# serial
# nested
# foo
# bar
# hooks
# one
# two
# serial
# hooks
# one
# two
# three
# Mocha
# .run(fn)
# should not raise errors if callback was not provided
# should execute the callback when complete
# should execute the callback with the number of failures as parameter
# .addFile()
# should add the given file to the files array
# .invert()
# should set the invert option to true
# should be chainable
# .ignoreLeaks()
# should set the ignoreLeaks option to true when param equals true
# should set the ignoreLeaks option to false when param equals false
# should set the ignoreLeaks option to false when the param is undefined
# should be chainable
# .checkLeaks()
# should set the ignoreLeaks option to false
# should be chainable
# .fullTrace()
# should set the fullStackTrace option to true
# should be chainable
# .growl()
# should set the growl option to true
# should be chainable
# .useInlineDiffs()
# should set the useInlineDiffs option to true when param equals true
# should set the useInlineDiffs option to false when param equals false
# should set the useInlineDiffs option to false when the param is undefined
# should be chainable
# .noHighlighting()
# should set the noHighlighting option to true
# .allowUncaught()
# should set the allowUncaught option to true
# .delay()
# should set the delay option to true
# .bail()
# should set the suite._bail to true if there is no arguments
# .ms()
# get a value that less than 1 second
# should return milliseconds representation
# seconds representation
# should return short format
# minutes representation
# should return short format
# hours representation
# should return short format
# days representation
# should return short format
# Getting string value
# should return the milliseconds representation(Number)
# overspecified asynchronous resolution method
# should fail when multiple methods are used
# using imported describe
# using imported it
# root
# should be a valid suite
# Runnable(title, fn)
#
#timeout(ms)
# should set the timeout
#
#timeout(ms) when ms>2^31
# should set disabled
#
#enableTimeouts(enabled)
# should set enabled
#
#slow(ms)
# should set the slow threshold
# should not set the slow threshold if the parameter is not passed
# should not set the slow threshold if the parameter is undefined
# .title
# should be present
# .titlePath()
# returns the concatenation of the parent's title path and runnable's title
# when arity >= 1
# should be .async
# when arity == 0
# should be .sync
#
#globals
# should allow for whitelisting globals
#
#retries(n)
# should set the number of retries
# .run(fn)
# when .pending
# should not invoke the callback
# when sync
# without error
# should invoke the callback
# when an exception is thrown
# should invoke the callback
# when an exception is thrown and is allowed to remain uncaught
# throws an error when it is allowed
# when timeouts are disabled
# should not error with timeout
# when async
# should allow updating the timeout (60ms)
# - should allow a timeout of 0
# without error
# should invoke the callback
# when the callback is invoked several times
# without an error
# should emit a single "error" event
# with an error
# should emit a single "error" event
# when an exception is thrown
# should invoke the callback
# should not throw its own exception if passed a non-object
# when an exception is thrown and is allowed to remain uncaught
# throws an error when it is allowed
# when an error is passed
# should invoke the callback
# when done() is invoked with a non-Error object
# should invoke the callback
# when done() is invoked with a string
# should invoke the callback
# when fn returns a promise
# when the promise is fulfilled with no value
# should invoke the callback
# when the promise is fulfilled with a value
# should invoke the callback
# when the promise is rejected
# should invoke the callback
# when the promise is rejected without a reason
# should invoke the callback
# when the promise takes too long to settle
# should throw the timeout error
# when fn returns a non-promise
# should invoke the callback
#
#isFailed()
# should return `true` if test has not failed
# should return `true` if test has failed
# should return `false` if test is pending
# Runner
# .grep()
# should update the runner.total with number of matched tests
# should update the runner.total with number of matched tests when inverted
# .grepTotal()
# should return the total number of matched tests
# should return the total number of matched tests when inverted
# .globalProps()
# should include common non enumerable globals
# .globals()
# should default to the known globals
# should white-list globals
# .checkGlobals(test)
# should allow variables that match a wildcard
# should emit "fail" when a new global is introduced
# should emit "fail" when a single new disallowed global is introduced after a single extra global is allowed
# should not fail when a new common global is introduced
# should pluralize the error message when several are introduced
# should respect per test whitelisted globals
# should respect per test whitelisted globals but still detect other leaks
# should emit "fail" when a global beginning with d is introduced
# .hook(name, fn)
# should execute hooks after failed test if suite bail is true
# .fail(test, err)
# should increment .failures
# should set test.state to "failed"
# should emit "fail"
# should emit a helpful message when failed with a string
# should emit a the error when failed with an Error instance
# should emit the error when failed with an Error-like object
# should emit a helpful message when failed with an Object
# should emit a helpful message when failed with an Array
# should recover if the error stack is not writable
# .failHook(hook, err)
# should increment .failures
# should augment hook title with current test title
# should emit "fail"
# should emit "end" if suite bail is true
# should not emit "end" if suite bail is not true
# allowUncaught
# should allow unhandled errors to propagate through
# stackTrace
# shortStackTrace
# should prettify the stack-trace
# longStackTrace
# should display the full stack-trace
# Suite
# .clone()
# should copy the title
# should copy the timeout value
# should copy the slow value
# should copy the bail value
# should not copy the values from the suites array
# should not copy the values from the tests array
# should not copy the values from the _beforeEach array
# should not copy the values from the _beforeAll array
# should not copy the values from the _afterEach array
# should not copy the values from the _afterAll array
# .timeout()
# when no argument is passed
# should return the timeout value
# when argument is passed
# should return the Suite object
# .slow()
# when given a string
# should parse it
# when no argument is passed
# should return the slow value
# when argument is passed
# should return the Suite object
# .bail()
# when no argument is passed
# should return the bail value
# when argument is passed
# should return the Suite object
# .beforeAll()
# wraps the passed in function in a Hook
# adds it to _beforeAll
# appends title to hook
# uses function name if available
# .afterAll()
# wraps the passed in function in a Hook
# adds it to _afterAll
# appends title to hook
# uses function name if available
# .beforeEach()
# wraps the passed in function in a Hook
# adds it to _beforeEach
# appends title to hook
# uses function name if available
# .afterEach()
# wraps the passed in function in a Hook
# adds it to _afterEach
# appends title to hook
# uses function name if available
# .addSuite()
# sets the parent on the added Suite
# copies the timeout value
# copies the slow value
# adds the suite to the suites collection
# treats suite as pending if its parent is pending
# .fullTitle()
# when there is no parent
# returns the suite title
# when there is a parent
# returns the combination of parent's and suite's title
# .titlePath()
# when there is no parent
# returns the suite title
# when there is a parent
# the parent is the root suite
# returns the suite title
# the parent is not the root suite
# returns the concatenation of parent's and suite's title
# .total()
# when there are no nested suites or tests
# should return 0
# when there are several tests in the suite
# should return the number
# .eachTest(fn)
# when there are no nested suites or tests
# should return 0
# when there are several tests in the suite
# should return the number
# when there are several levels of nested suites
# should return the number
# initialization
# should throw an error if the title isn't a string
# should not throw if the title is a string
# Test
# initialization
# should throw an error if the title isn't a string
# should not throw if the title is a string
# Test
# .clone()
# should copy the title
# should copy the timeout value
# should copy the slow value
# should copy the enableTimeouts value
# should copy the retries value
# should copy the currentRetry value
# should copy the globals value
# should copy the parent value
# should copy the file value
# .isPending()
# should not be pending by default
# should be pending when marked as such
# should be pending when its parent is pending
# a test that throws
# undefined
# should not pass if throwing sync and test is sync
# should not pass if throwing sync and test is async
# should not pass if throwing async and test is async
# null
# should not pass if throwing sync and test is sync
# should not pass if throwing sync and test is async
# should not pass if throwing async and test is async
# timeouts
# should error on timeout
# should allow overriding per-test (60ms)
# disabling
# should allow overriding per-test
# should work with timeout(0)
# using beforeEach
# should work with timeout(0)
# using before
# should work with timeout(0)
# using enableTimeouts(false)
# should suppress timeout(4) (59ms)
# suite-level
# should work with timeout(0)
# nested suite
# should work with timeout(0)
# lib/utils
# clean
# should remove the wrapping function declaration
# should handle newlines in the function declaration
# should remove space character indentation from the function body
# should remove tab character indentation from the function body
# should handle functions with tabs in their declarations
# should handle named functions without space after name
# should handle named functions with space after name
# should handle functions with no space between the end and the closing brace
# should handle functions with parentheses in the same line
# should handle empty functions
# should format a single line test function
# should format a multi line test indented with spaces
# should format a multi line test indented with tabs
# should format functions saved in windows style - spaces
# should format functions saved in windows style - tabs
# should format es6 arrow functions
# should format es6 arrow functions with implicit return
# stringify
# should return an object representation of a string created with a String constructor
# should return Buffer with .toJSON representation
# should return Date object with .toISOString() + string prefix
# should return invalid Date object with .toString() + string prefix
# should canonicalize the object
# should handle circular structures in objects
# should handle circular structures in arrays
# should handle circular structures in functions
# should handle various non-undefined, non-null, non-object, non-array, non-date, and non-function values
# should handle arrays
# should handle functions
# should handle empty objects
# should handle empty arrays
# should handle non-empty arrays
# should handle empty functions (with no properties)
# should handle functions w/ properties
# should handle undefined values
# should recurse
# might get confusing
# should not freak out if it sees a primitive twice
# should stringify dates
# should handle object without an Object prototype
# should handle Symbol
# should handle length properties that cannot be coerced to a number
#
#Number
# should show the handle -0 situations
# should work well with `NaN` and `Infinity`
# floats and ints
# canonicalize example
# should represent the actual full result
# type
# should recognize various types
# when toString on null or undefined stringifies window
# should recognize null and undefined
# parseQuery()
# should get queryString and return key-value object
# should parse "+" as a space
# isPromise
# should return true if the value is Promise-ish
# should return false if the value is not an object
# should return false if the value is an object w/o a "then" function
# escape
# replaces the usual xml suspects
# replaces invalid xml characters
# Mocha
# should not output colors to pipe (552ms)
# file utils
# .lookupFiles
# should not return broken symlink file path
# should accept a glob "path" value
# should parse extensions from extnsions parameter
# should not require the extensions parameter when looking up a file
# should require the extensions parameter when looking up a directory
# .files
# should return broken symlink file path
# fs.readFile()
# when the file exists
# should succeed
# when the file does not exist
# should fail
# stackTraceFilter()
# on node
# on POSIX OS
# should get a stack-trace as a string and prettify it
# does not ignore other bower_components and components
# should replace absolute with relative paths
# should not replace absolute path which has cwd as infix
# on Windows
# - should work on Windows
# on browser
# does not strip out other bower_components
# 280 passing (1s)
# 2 pending
# nps is executing `test.node.integration` : node bin/mocha --timeout 5000 --slow 500 "test/integration/*.spec.js"
# globbing like --compilers
# should find a file of each type (659ms)
# diffs
# should display a diff for small strings
# should display a diff of canonicalized objects
# should display a diff for medium strings
# should display a diff for entire object dumps
# should display a diff for multi-line strings
# should display a diff for entire object dumps
# should display a full-comparison with escaped special characters
# should display a word diff for large strings
# should work with objects
# should show value diffs and not be affected by commas
# should display diff by data and not like an objects
# globbing
# by the shell
# should find the first level test (378ms)
# should not find a non-matching pattern (372ms)
# should handle both matching and non-matching patterns in the same command (385ms)
# by Mocha
# should find the first level test (377ms)
# should not find a non-matching pattern (376ms)
# should handle both matching and non-matching patterns in the same command (382ms)
# double-starred
# should find the tests on multiple levels (390ms)
# should not find a non-matching pattern (372ms)
# should handle both matching and non-matching patterns in the same command (388ms)
# hook error handling
# before hook error
# should verify results
# before hook error tip
# should verify results
# before each hook error
# should verify results
# after hook error
# should verify results
# after each hook error
# should verify results
# multiple hook errors
# should verify results
# async - before hook error
# should verify results
# async - before hook error tip
# should verify results
# async - before each hook error
# should verify results
# async - after hook error
# should verify results
# async - after each hook error
# should verify results
# async - multiple hook errors
# should verify results
# hooks
# are ran in correct order (555ms)
# multiple calls to done()
# from a spec
# results in failures
# throws a descriptive error
# with error passed on second call
# results in failures
# should throw a descriptive error
# with multiple specs
# results in a failure
# correctly attributes the error
# from a before hook
# results in a failure
# correctly attributes the error
# from a beforeEach hook
# results in a failure
# correctly attributes the errors
# no-diff
# when enabled
# should not display a diff (560ms)
# when disabled
# should display a diff (561ms)
# .only()
# bdd
# should run only tests that marked as `only` (560ms)
# tdd
# should run only tests that marked as `only` (561ms)
# qunit
# should run only tests that marked as `only` (553ms)
# options
# --async-only
# should fail synchronous specs (560ms)
# should allow asynchronous specs (555ms)
# --bail
# should stop after the first error (563ms)
# should stop all tests after the first error in before hook (554ms)
# should stop all hooks after the first error (578ms)
# --sort
# should sort tests in alphabetical order (562ms)
# --file
# should run tests passed via file first (555ms)
# should run multiple tests passed via file first (560ms)
# --delay
# should run the generated test suite (763ms)
# should execute exclusive tests only (758ms)
# should throw an error if the test suite failed to run (662ms)
# --grep
# runs specs matching a string (552ms)
# runs specs matching a RegExp
# with RegExp like strings(pattern follow by flag) (554ms)
# string as pattern (554ms)
# with --invert
# runs specs that do not match the pattern (555ms)
# --retries
# retries after a certain threshold (555ms)
# --forbid-only
# succeeds if there are only passed tests (552ms)
# fails if there are tests marked only (560ms)
# fails if there are tests in suites marked only (559ms)
# --forbid-pending
# succeeds if there are only passed tests (554ms)
# fails if there are tests marked skip (563ms)
# fails if there are pending tests (564ms)
# fails if tests call `skip()` (560ms)
# fails if beforeEach calls `skip()` (559ms)
# fails if before calls `skip()` (562ms)
# fails if there are tests in suites marked skip (567ms)
# --exit
# default behavior
# should force exit after root suite completion (2054ms)
# with exit enabled
# should force exit after root suite completion
# with exit disabled
# should not force exit after root suite completion (2051ms)
# --help
# works despite the presence of mocha.opts (355ms)
# --exclude
# should exclude specific files (574ms)
# should exclude globbed files (569ms)
# should exclude multiple patterns (567ms)
# pending
# pending specs
# should be created by omitting a function (553ms)
# should return the test object when used via shorthand methods (552ms)
# should keep hierarchies of suites (552ms)
# synchronous skip()
# in spec
# should immediately skip the spec and run all others (555ms)
# in before
# should skip all suite specs (553ms)
# in beforeEach
# should skip all suite specs (553ms)
# asynchronous skip()
# in spec
# should immediately skip the spec and run all others (614ms)
# in before
# should skip all suite specs (614ms)
# in beforeEach
# should skip all suite specs (546ms)
# regressions
# issue-1327: should run all 3 specs exactly once (550ms)
# should not duplicate mocha.opts args in process.argv
# issue-1794: Can't --require custom UI and use it (550ms)
# issue-1991: Declarations do not get cleaned up unless you set them to `null` - Memory Leak (13534ms)
# issue-2315: cannot read property currentRetry of undefined (556ms)
# issue-2406: should run nested describe.only suites (555ms)
# issue-2417: should not recurse infinitely with .only suites nested within each other (554ms)
# issue-1417 uncaught exceptions from async specs (606ms)
# issue-2286: after doesn't execute if test was skipped in beforeEach
# suite with skipped test for meta test
# - should be pending
# reporters
# markdown
# does not exceed maximum callstack (issue: 1875)
# contains spec src
# xunit
# prints test cases with --reporter-options output (issue: 1864) (558ms)
# loader
# loads a reporter from a path relative to the current working directory (554ms)
# loads a reporter from an absolute path (554ms)
# retries
# are ran in correct order (553ms)
# should exit early if test passes (548ms)
# should let test override (549ms)
# should not hang w/ async test (962ms)
# suite w/no callback
# should throw a helpful error message when a callback for suite is not supplied (538ms)
# skipped suite w/no callback
# should not throw an error when a callback for skipped suite is not supplied (544ms)
# skipped suite w/ callback
# should not throw an error when a callback for skipped suite is supplied (544ms)
# this.timeout()
# is respected by sync and async suites (557ms)
# uncaught exceptions
# handles uncaught exceptions from hooks (556ms)
# handles uncaught exceptions from async specs (557ms)
# handles uncaught exceptions from which Mocha cannot recover (551ms)
# 115 passing (1m)
# 1 pending
# nps is executing `test.node.jsapi` : node test/jsapi
# Suite
# .clone()
# should copy the title
# should copy the timeout value
# should copy the slow value
# should copy the bail value
# should not copy the values from the suites array
# should not copy the values from the tests array
# should not copy the values from the _beforeEach array
# should not copy the values from the _beforeAll array
# should not copy the values from the _afterEach array
# should not copy the values from the _afterAll array
# .timeout()
# when no argument is passed
# should return the timeout value
# when argument is passed
# should return the Suite object
# .slow()
# when given a string
# should parse it
# when no argument is passed
# should return the slow value
# when argument is passed
# should return the Suite object
# .bail()
# when no argument is passed
# should return the bail value
# when argument is passed
# should return the Suite object
# .beforeAll()
# wraps the passed in function in a Hook
# adds it to _beforeAll
# appends title to hook
# uses function name if available
# .afterAll()
# wraps the passed in function in a Hook
# adds it to _afterAll
# appends title to hook
# uses function name if available
# .beforeEach()
# wraps the passed in function in a Hook
# adds it to _beforeEach
# appends title to hook
# uses function name if available
# .afterEach()
# wraps the passed in function in a Hook
# adds it to _afterEach
# appends title to hook
# uses function name if available
# .addSuite()
# sets the parent on the added Suite
# copies the timeout value
# copies the slow value
# adds the suite to the suites collection
# treats suite as pending if its parent is pending
# .fullTitle()
# when there is no parent
# returns the suite title
# when there is a parent
# returns the combination of parent's and suite's title
# .titlePath()
# when there is no parent
# returns the suite title
# when there is a parent
# the parent is the root suite
# returns the suite title
# the parent is not the root suite
# returns the concatenation of parent's and suite's title
# .total()
# when there are no nested suites or tests
# should return 0
# when there are several tests in the suite
# should return the number
# .eachTest(fn)
# when there are no nested suites or tests
# should return 0
# when there are several tests in the suite
# should return the number
# when there are several levels of nested suites
# should return the number
# initialization
# should throw an error if the title isn't a string
# should not throw if the title is a string
# Test
# initialization
# should throw an error if the title isn't a string
# should not throw if the title is a string
# Runner
# .grep()
# should update the runner.total with number of matched tests
# should update the runner.total with number of matched tests when inverted
# .grepTotal()
# should return the total number of matched tests
# should return the total number of matched tests when inverted
# .globalProps()
# should include common non enumerable globals
# .globals()
# should default to the known globals
# should white-list globals
# .checkGlobals(test)
# should allow variables that match a wildcard
# should emit "fail" when a new global is introduced
# should emit "fail" when a single new disallowed global is introduced after a single extra global is allowed
# should not fail when a new common global is introduced
# should pluralize the error message when several are introduced
# should respect per test whitelisted globals
# should respect per test whitelisted globals but still detect other leaks
# should emit "fail" when a global beginning with d is introduced
# .hook(name, fn)
# should execute hooks after failed test if suite bail is true
# .fail(test, err)
# should increment .failures
# should set test.state to "failed"
# should emit "fail"
# should emit a helpful message when failed with a string
# should emit a the error when failed with an Error instance
# should emit the error when failed with an Error-like object
# should emit a helpful message when failed with an Object
# should emit a helpful message when failed with an Array
# should recover if the error stack is not writable
# .failHook(hook, err)
# should increment .failures
# should augment hook title with current test title
# should emit "fail"
# should emit "end" if suite bail is true
# should not emit "end" if suite bail is not true
# allowUncaught
# should allow unhandled errors to propagate through
# stackTrace
# shortStackTrace
# should prettify the stack-trace
# longStackTrace
# should display the full stack-trace
# Runnable(title, fn)
#
#timeout(ms)
# should set the timeout
#
#timeout(ms) when ms>2^31
# should set disabled
#
#enableTimeouts(enabled)
# should set enabled
#
#slow(ms)
# should set the slow threshold
# should not set the slow threshold if the parameter is not passed
# should not set the slow threshold if the parameter is undefined
# .title
# should be present
# .titlePath()
# returns the concatenation of the parent's title path and runnable's title
# when arity >= 1
# should be .async
# when arity == 0
# should be .sync
#
#globals
# should allow for whitelisting globals
#
#retries(n)
# should set the number of retries
# .run(fn)
# when .pending
# should not invoke the callback
# when sync
# without error
# should invoke the callback
# when an exception is thrown
# should invoke the callback
# when an exception is thrown and is allowed to remain uncaught
# throws an error when it is allowed
# when timeouts are disabled
# should not error with timeout
# when async
# should allow updating the timeout (60ms)
# - should allow a timeout of 0
# without error
# should invoke the callback
# when the callback is invoked several times
# without an error
# should emit a single "error" event
# with an error
# should emit a single "error" event
# when an exception is thrown
# should invoke the callback
# should not throw its own exception if passed a non-object
# when an exception is thrown and is allowed to remain uncaught
# throws an error when it is allowed
# when an error is passed
# should invoke the callback
# when done() is invoked with a non-Error object
# should invoke the callback
# when done() is invoked with a string
# should invoke the callback
# when fn returns a promise
# when the promise is fulfilled with no value
# should invoke the callback
# when the promise is fulfilled with a value
# should invoke the callback
# when the promise is rejected
# should invoke the callback
# when the promise is rejected without a reason
# should invoke the callback
# when the promise takes too long to settle
# should throw the timeout error
# when fn returns a non-promise
# should invoke the callback
#
#isFailed()
# should return `true` if test has not failed
# should return `true` if test has failed
# should return `false` if test is pending
# serial
# hooks
# one
# two
# three
# serial
# nested
# foo
# bar
# hooks
# one
# two
# async
# hooks
# one
# two
# three
# durations
# when slow
# should highlight in red (110ms)
# when reasonable
# should highlight in yellow (55ms)
# when fast
# should not highlight
# fs.readFile()
# when the file exists
# should succeed
# when the file does not exist
# should fail
# global leaks
# should cause tests to fail
# should pass when accepted
# should pass with wildcard
# should pass when prefixed "mocha-"
# timeouts
# should error on timeout
# should allow overriding per-test (59ms)
# disabling
# should allow overriding per-test
# should work with timeout(0)
# using beforeEach
# should work with timeout(0)
# using before
# should work with timeout(0)
# using enableTimeouts(false)
# should suppress timeout(4) (61ms)
# suite-level
# should work with timeout(0)
# nested suite
# should work with timeout(0)
# 145 passing (546ms)
# 1 pending
# done
# nps is executing `test.node.compilers` : nps test.node.compilers.coffee test.node.compilers.custom test.node.compilers.multiple
# nps is executing `test.node.compilers.coffee` : node bin/mocha --compilers coffee:coffee-script/register test/compiler
# coffeescript
# should work
# 1 passing (17ms)
# nps is executing `test.node.compilers.custom` : node bin/mocha --compilers foo:./test/compiler-fixtures/foo.fixture test/compiler
# custom compiler
# should work
# 1 passing (11ms)
# nps is executing `test.node.compilers.multiple` : node bin/mocha --compilers coffee:coffee-script/register,foo:./test/compiler-fixtures/foo.fixture test/compiler
# coffeescript
# should work
# custom compiler
# should work
# 2 passing (18ms)
# nps is executing `test.node.requires` : node bin/mocha --require coffee-script/register --require test/require/a.js --require test/require/b.coffee --require test/require/c.js --require test/require/d.coffee test/require/require.spec.js
# require test
# should require args in order
# 1 passing (12ms)
# nps is executing `test.node.reporters` : node bin/mocha --timeout 500 "test/reporters/*.spec.js"
# Base reporter
# 1) test title:
# Error: test
# + expected - actual
# {
# - "key": "a1"
# + "key": "e1"
# }
#
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:260:11)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Test.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at Runner.runTest (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:455:10)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:369:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:303:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:342:7
# at done (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:319:5)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:395:7)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should stringify objects
# 1) test title:
# Error: test
# + expected - actual
# {
# - "hasOwnProperty": 1
# + "hasOwnProperty": 2
# }
#
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:277:11)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Test.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at Runner.runTest (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:455:10)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:369:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:303:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:342:7
# at done (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:319:5)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:395:7)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should stringify Object.create(null)
# 1) test title:
# AssertionError [ERR_ASSERTION]: true
# + expected - actual
# -false
# +true
#
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:297:7)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Test.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at Runner.runTest (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:455:10)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:369:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:303:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:342:7
# at done (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:319:5)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:395:7)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should handle error messages that are not strings
# 1) test title:
# custom error message
# + expected - actual
# -43
# +42
#
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:317:49)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Test.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at Runner.runTest (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:455:10)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:369:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:303:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:342:7
# at done (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:319:5)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:395:7)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should interpret Chai custom error messages
# 1) test title:
# AssertionError [ERR_ASSERTION]: custom error message
# + expected - actual
# -43
# +42
#
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:337:14)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Test.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at Runner.runTest (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:455:10)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:369:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:303:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:342:7
# at done (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:319:5)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:395:7)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should interpret assert module custom error messages
# 1) test title:
# Error
# foo
# bar
# should remove message from stack
# 1) test title:
# an error happened
#
# should use the inspect() property if `message` is not set
# 1) test title:
#
#
# should set an empty message if `message` and `inspect()` are not set
# 1) test title:
# Error
# foo
# bar
# should not modify stack if it does not contain message
# showDiff
# 1) test title:
# AssertionError [ERR_ASSERTION]: 'foo' undefined 'bar'
# + expected - actual
# -foo
# +bar
#
# at new AssertionError (internal/errors.js:102:11)
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:48:13)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should show diffs by default
# 1) test title:
# AssertionError [ERR_ASSERTION]: 'foo' undefined 'bar'
# + expected - actual
# -foo
# +bar
#
# at new AssertionError (internal/errors.js:102:11)
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:48:13)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should show diffs if property set to `true`
# 1) test title:
# AssertionError [ERR_ASSERTION]: 'foo' undefined 'bar'
# at new AssertionError (internal/errors.js:102:11)
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:48:13)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should not show diffs when showDiff property set to `false`
# 1) test title:
# Error: ouch
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:84:13)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Test.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at Runner.runTest (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:455:10)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:369:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:303:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:342:7
# at done (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:319:5)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:395:7)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should not show diffs when expected is not defined
# 1) test title:
# AssertionError [ERR_ASSERTION]: 'foo' undefined 'bar'
# at new AssertionError (internal/errors.js:102:11)
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:48:13)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should not show diffs when hideDiff is set
# Getting two strings
# 1) test title:
# Error: test
# + expected - actual
# foo
# -bar
# +baz
#
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:111:13)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Test.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at Runner.runTest (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:455:10)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:369:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:303:14)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should show strings diff as is
# Diff generation
# should generate unified diffs if `inlineDiff === false`
# should generate inline diffs if `inlineDiffs === true`
# Inline strings diff
# 1) test title:
# Error: test
# actual expected
#
# a foobar inline diff
#
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:175:13)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Test.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at Runner.runTest (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:455:10)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:369:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:303:14)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should show single line diff if property set to `true`
# 1) test title:
# Error: test
# actual expected
#
# 1 | a
# 2 | foobar
# 3 | inline
# 4 | diff
# 5 | with
# 6 | multiple lines
#
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:194:13)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Test.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at Runner.runTest (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:455:10)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:369:14)
# at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:303:14)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should split lines when string has more than 4 line breaks
# unified diff reporter
# 1) test title:
# Error: test
# + expected - actual
# [
# + "element 1"
# "element 2"
# "element 3"
# "element 4"
# "element 5"
# --
# "element 7"
# "element 8"
# "element 9"
# "element 10"
# - "element 11"
# ]
#
# at Context. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/test/reporters/base.spec.js:220:13)
# at callFn (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:372:21)
# at Hook.Runnable.run (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runnable.js:364:7)
# at next (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:317:10)
# at Immediate. (/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:347:5)
# at runCallback (timers.js:810:20)
# at tryOnImmediate (timers.js:768:5)
# at processImmediate [as _immediateCallback] (timers.js:745:5)
# should separate diff hunks by two dashes
# Doc reporter
# on suite
# if suite root does not exist
#

#

expectedTitle


#

# should log html with indents and expected title
#

#

&
#x3C;div&
#x3E;expectedTitle&
#x3C;/div&
#x3E;


#

# should escape title where necessary
# if suite root does exist
# should not log any html
# on suite end
# if suite root does not exist
#

#

# should log expected html with indents
# if suite root does exist
# should not log any html
# on pass
#
some tite

#
some body

# should log html with indents and expected title and body
#
&
#x3C;div&
#x3E;some tite&
#x3C;/div&
#x3E;

#
&
#x3C;div&
#x3E;some body&
#x3C;/div&
#x3E;

# should escape title and body where necessary
# on fail
#
some tite

#
some body

#
some error

# should log html with indents and expected title, body and error
#
&
#x3C;div&
#x3E;some tite&
#x3C;/div&
#x3E;

#
&
#x3C;div&
#x3E;some body&
#x3C;/div&
#x3E;

#
&
#x3C;div&
#x3E;some error&
#x3C;/div&
#x3E;

# should escape title, body and error where necessary
# Dot reporter
# on start
# should return a new line
# on pending
# if window width is greater than 1
# , should return a new line and then a coma
# if window width is equal to or less than 1
# , should return a coma
# on pass
# if window width is greater than 1
# if test speed is fast
# should return a new line and then a dot
# if window width is equal to or less than 1
# if test speed is fast
# should return a dot
# if test speed is slow
# should return a dot
# on fail
# if window width is greater than 1
# ! should return a new line and then an exclamation mark
# if window width is equal to or less than 1
# ! should return an exclamation mark
# on end
# should call the epilogue
# Json Stream reporter
# on start
# ["start",{"total":12}]
# should write stringified start with expected total
# on pass
# ["pass",{"title":"some title","fullTitle":"full title","duration":1000,"currentRetry":1}]
# should write stringified test data
# on fail
# if error stack exists
# ["fail",{"title":"some title","fullTitle":"full title","duration":1000,"currentRetry":1,"err":"error message","stack":"error stack"}]
# should write stringified test data with error data
# if error stack does not exist
# ["fail",{"title":"some title","fullTitle":"full title","duration":1000,"currentRetry":1,"err":"error message","stack":null}]
# should write stringified test data with error data
# on end
# ["end",{"suites":0,"tests":0,"passes":0,"pending":0,"failures":0,"end":"2019-01-05T10:29:20.240Z","duration":null}] should write end details
# json reporter
# {
# "stats": {
# "suites": 1,
# "tests": 1,
# "passes": 0,
# "pending": 0,
# "failures": 1,
# "start": "2019-01-05T10:29:20.242Z",
# "end": "2019-01-05T10:29:20.245Z",
# "duration": 3
# },
# "tests": [
# {
# "title": "json test 1",
# "fullTitle": "JSON suite json test 1",
# "duration": 1,
# "currentRetry": 0,
# "err": {
# "stack": "Error: oh shit\n at Context. (test/reporters/json.spec.js:27:14)\n at callFnAsync (lib/runnable.js:400:21)\n at Test.Runnable.run (lib/runnable.js:342:7)\n at Runner.runTest (lib/runner.js:455:10)\n at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12\n at next (lib/runner.js:369:14)\n at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7\n at next (lib/runner.js:303:14)\n at Immediate. (lib/runner.js:347:5)",
# "message": "oh shit"
# }
# }
# ],
# "pending": [],
# "failures": [
# {
# "title": "json test 1",
# "fullTitle": "JSON suite json test 1",
# "duration": 1,
# "currentRetry": 0,
# "err": {
# "stack": "Error: oh shit\n at Context. (test/reporters/json.spec.js:27:14)\n at callFnAsync (lib/runnable.js:400:21)\n at Test.Runnable.run (lib/runnable.js:342:7)\n at Runner.runTest (lib/runner.js:455:10)\n at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:573:12\n at next (lib/runner.js:369:14)\n at /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/lib/runner.js:379:7\n at next (lib/runner.js:303:14)\n at Immediate. (lib/runner.js:347:5)",
# "message": "oh shit"
# }
# }
# ],
# "passes": []
# } should have 1 test failure
# {
# "stats": {
# "suites": 1,
# "tests": 1,
# "passes": 0,
# "pending": 1,
# "failures": 0,
# "start": "2019-01-05T10:29:20.252Z",
# "end": "2019-01-05T10:29:20.253Z",
# "duration": 1
# },
# "tests": [
# {
# "title": "json test 1",
# "fullTitle": "JSON suite json test 1",
# "currentRetry": 0,
# "err": {}
# }
# ],
# "pending": [
# {
# "title": "json test 1",
# "fullTitle": "JSON suite json test 1",
# "currentRetry": 0,
# "err": {}
# }
# ],
# "failures": [],
# "passes": []
# } should have 1 test pending
# {
# "stats": {
# "suites": 1,
# "tests": 1,
# "passes": 0,
# "pending": 0,
# "failures": 1,
# "start": "2019-01-05T10:29:20.255Z",
# "end": "2019-01-05T10:29:20.256Z",
# "duration": 1
# },
# "tests": [
# {
# "title": "json test 1",
# "fullTitle": "JSON suite json test 1",
# "duration": 0,
# "currentRetry": 0,
# "err": {
# "message": "oh shit",
# "circular": "[object Object]"
# }
# }
# ],
# "pending": [],
# "failures": [
# {
# "title": "json test 1",
# "fullTitle": "JSON suite json test 1",
# "duration": 0,
# "currentRetry": 0,
# "err": {
# "message": "oh shit",
# "circular": "[object Object]"
# }
# }
# ],
# "passes": []
# } should handle circular objects in errors
# Landing reporter
# on start
# should write new lines
# should call cursor hide
# on test end
# if test has failed
# [1D[2A
#
# [0m should write expected landing strip
# if test has not failed
# [1D[2A
#
# [0m should write expected landing strip
# on end
# should call cursor show and epilogue
# List reporter
# on start and test
# some title: should write expected new line and title to the console
# on pending
# - some title
# should write expected title to the console
# on pass
# some title: 100ms
# should call cursor CR
# OK some title: 100ms
# OK should write expected symbol, title and duration to the console
# on fail
# 1) some title
# OK should call cursor CR
# 1) some title
# OK should write expected error number and title
# OK should immediately construct fail strings
# on end
# OK should call epilogue
# Markdown reporter
# on 'suite'
#
# TOC
# - [expected title](
#full-title)
# - [expected title](
#full-title)
#
# expected title
# OK should write expected slugged titles on 'end' event
# on 'pass'
#
# TOC
# - [expected title](
#full-title)
# expected title.
# ```js
# some body
# ```
# OK should write test code inside js code block, on 'end' event
# Min reporter
# on start
# [2J[1;3H OK should clear screen then set cursor position
# on end
# OK should call epilogue
# Nyan reporter
# events
# on start
# OK should call draw
# on pending
# OK should call draw
# on pass
# OK should call draw
# on fail
# OK should call draw
# on end
# OK should call epilogue
# OK should write numberOfLines amount of new lines
# OK should call Base show
# draw
# if tick is false
# OK should draw face with expected spaces, _ and ^
# if tick is true
# cursorDown
# OK should write cursor down interaction with expected number
# cursorUp
# OK should write cursor up interaction with expected number
# rainbowify
# useColors is false
# OK should return argument string
# useColors is true
# [32m OK[0m[90m should return rainbowified string from the given string and predefined codes[0m
# appendRainbow
# if tick is true
# OK should set an _ segment
# OK should shift each trajectory item, if its length is greater of equal to its max width
# if tick is false
# OK should set an - segment
# drawScoreboard
# green2
# fail1
# pending1
# OK should write scoreboard with color set with each stat
# green0
# fail0
# pending0
# OK should call cursorUp with given numberOfLines
# drawRainbow
# [444Cinput
# OK should write width, contents and newline for each trajectory
# [1Cinput
# OK should call cursorUp with given numberOfLines
# face
# OK expected face:(x .x) when "failures" at least one
# OK expected face:(x .x) when "pending" at least one and no failing
# OK expected face:(^ .^) when "passing" only
# OK expected face:(- .-) when otherwise
# Progress reporter
# on start
# OK should call cursor hide
# on test end
# if line has not changed
# OK should return and not write anything
# if line has changed
# [J OpEniNcOmPlEtEcLoSe OK should write expected progress of open and close options
# on end
# OK should call cursor show and epilogue
# Spec reporter
# on suite
# expectedTitle
# OK should return title
# on pending
# - expectedTitle
# OK should return title
# on pass
# if test speed is slow
# OK expectedTitle (2ms)
# OK should return expected tick, title and duration
# if test speed is fast
# OK expectedTitle
# OK should return expected tick, title and without a duration
# on fail
# 1) expectedTitle
# OK should return title and function count
# TAP reporter
# on start
# 1..10
# OK should hand runners suite into grepTotal and log the total
# on pending
# ok 2 some title
# SKIP -
# OK should write expected message including count and title
# on pass
# ok 2 some title
# OK should write expected message including count and title
# on fail
# if there is an error stack
# not ok 2 some title
# some stack
# OK should write expected message and stack
# if there is no error stack
# not ok 2 some title
# OK should write expected message only
# on end
# ok 1 some title
# not ok 1 some title
#
# tests 2
#
# pass 1
#
# fail 1
# OK should write total tests, passes and failures
# XUnit reporter
# if reporter options output is given
# but it cant create a write stream
# OK should throw expected error
# and it can create a write stream
# OK should locate the output dir, create it, then assign as fileStream
# on 'pending', 'pass' and 'fail' events
# OK should add test to tests called on 'end' event
# done
# if fileStream is truthly
# OK should run callback with failure inside streams end
# if fileStream is falsy
# OK should run callback with failure
# write
# if fileStream is truthly
# OK should call fileStream write with line and new line
# if fileStream is falsy and stdout exists
# OK should call write with line and new line
# if fileStream is falsy and stdout does not exist
# OK should call write with line
# test
# on test failure
# OK should write expected tag with error details
# on test pending
# OK should write expected tag
# on test in any other state
# OK should write expected tag
# custom suite name
# OK should use "Mocha Tests" as the suite name if no custom name is provided
# OK should use the custom suite name as the suite name when provided in the reporter options
# 115 passing (215ms)
# nps is executing `test.node.only` : nps test.node.only.bdd test.node.only.tdd test.node.only.bddRequire test.node.only.globalBdd test.node.only.globalTdd test.node.only.globalQunit
# nps is executing `test.node.only.bdd` : node bin/mocha --ui bdd test/only/bdd.spec
#
#Root-Suite, should run this test-case
#1
#
#Root-Suite, should run this test-case
#2
# 2 passing (12ms)
# nps is executing `test.node.only.tdd` : node bin/mocha --ui tdd test/only/tdd.spec
#
#Root-Suite, should run this test-case
#1
#
#Root-Suite, should run this test-case
#2
# 2 passing (12ms)
# nps is executing `test.node.only.bddRequire` : node bin/mocha --ui qunit test/only/bdd-require.spec
# it.only via require("mocha")
# nested within a describe/context
# should run all enclosing beforeEach hooks
# 1 passing (9ms)
# nps is executing `test.node.only.globalBdd` : node bin/mocha --ui bdd test/only/global/bdd.spec
#
#Root-Suite, should run this bdd test-case
#1
# 1 passing (11ms)
# nps is executing `test.node.only.globalTdd` : node bin/mocha --ui tdd test/only/global/tdd.spec
#
#Root-Suite, should run this tdd test-case
#1
# 1 passing (11ms)
# nps is executing `test.node.only.globalQunit` : node bin/mocha --ui qunit test/only/global/qunit.spec
#
#Root-Suite, should run this qunit test-case
#1
# 1 passing (11ms)
# nps is executing `test.browser` : nps clean build test.browser.unit test.browser.bdd test.browser.tdd test.browser.qunit test.browser.esm
# nps is executing `clean` : rimraf mocha.js
# nps is executing `build` : browserify ./browser-entry --plugin ./scripts/dedefine --ignore 'fs' --ignore 'glob' --ignore 'path' --ignore 'supports-color' > mocha.js
# nps is executing `test.browser.unit` : NODE_PATH=. karma start --single-run
# START:
# [32m05 01 2019 11:29:30.279:INFO [framework.browserify]: [39mbundle built
# [32m05 01 2019 11:29:30.295:INFO [karma]: [39mKarma v2.0.2 server started at http://0.0.0.0:9876/
# [32m05 01 2019 11:29:30.296:INFO [launcher]: [39mLaunching browser ChromeHeadless with unlimited concurrency
# [32m05 01 2019 11:29:30.301:INFO [launcher]: [39mStarting browser ChromeHeadless
# [33m05 01 2019 11:30:30.310:WARN [launcher]: [39mChromeHeadless have not captured in 60000 ms, killing.
# [33m05 01 2019 11:30:32.321:WARN [launcher]: [39mChromeHeadless was not killed in 2000 ms, sending SIGKILL.
# [33m05 01 2019 11:30:34.332:WARN [launcher]: [39mChromeHeadless was not killed by SIGKILL in 2000 ms, continuing.
# Finished in 0 secs / 0 secs @ 11:30:34 GMT+0100 (CET)
# ./util/has_lib.sh: line 31: pkg-config: command not found
# gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
# gyp ERR! configure error
# gyp ERR! stack Error: `gyp` failed with exit code: 1
# gyp ERR! stack at ChildProcess.onCpExit (/Users/jenkins/.nvs/node/8.15.0/x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)
# gyp ERR! stack at emitTwo (events.js:126:13)
# gyp ERR! stack at ChildProcess.emit (events.js:214:7)
# gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
# gyp ERR! System Darwin 17.7.0
# gyp ERR! command "/Users/jenkins/.nvs/node/8.15.0/x64/bin/node" "/Users/jenkins/.nvs/node/8.15.0/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
# gyp ERR! cwd /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/histogram/node_modules/canvas
# gyp ERR! node -v v8.15.0
# gyp ERR! node-gyp -v v3.8.0
# gyp ERR! not ok
# ./util/has_lib.sh: line 31: pkg-config: command not found
# gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
# gyp ERR! configure error
# gyp ERR! stack Error: `gyp` failed with exit code: 1
# gyp ERR! stack at ChildProcess.onCpExit (/Users/jenkins/.nvs/node/8.15.0/x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)
# gyp ERR! stack at emitTwo (events.js:126:13)
# gyp ERR! stack at ChildProcess.emit (events.js:214:7)
# gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
# gyp ERR! System Darwin 17.7.0
# gyp ERR! command "/Users/jenkins/.nvs/node/8.15.0/x64/bin/node" "/Users/jenkins/.nvs/node/8.15.0/x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
# gyp ERR! cwd /private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/node_modules/canvas
# gyp ERR! node -v v8.15.0
# gyp ERR! node-gyp -v v3.8.0
# gyp ERR! not ok
# ../src/metadata.cc:136:15: warning: 'Call' is deprecated [-Wdeprecated-declarations]
# callback->Call(2, argv);
# ^
# ../../nan/nan.h:1617:3: note: 'Call' has been explicitly marked deprecated here
# NAN_DEPRECATED inline v8::Local
# ^
# ../../nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
#
# define NAN_DEPRECATED __attribute__((deprecated))
# ^
# 1 warning generated.
# ../src/pipeline.cc:976:8: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
# [this](sharp::InputDescriptor *joinChannelIn) {
# ^
# ../src/pipeline.cc:984:20: warning: 'Call' is deprecated [-Wdeprecated-declarations]
# queueListener->Call(1, queueLength);
# ^
# ../../nan/nan.h:1617:3: note: 'Call' has been explicitly marked deprecated here
# NAN_DEPRECATED inline v8::Local
# ^
# ../../nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
#
# define NAN_DEPRECATED __attribute__((deprecated))
# ^
# ../src/pipeline.cc:988:15: warning: 'Call' is deprecated [-Wdeprecated-declarations]
# callback->Call(3, argv);
# ^
# ../../nan/nan.h:1617:3: note: 'Call' has been explicitly marked deprecated here
# NAN_DEPRECATED inline v8::Local
# ^
# ../../nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
#
# define NAN_DEPRECATED __attribute__((deprecated))
# ^
# ../src/pipeline.cc:1250:18: warning: 'Call' is deprecated [-Wdeprecated-declarations]
# queueListener->Call(1, queueLength);
# ^
# ../../nan/nan.h:1617:3: note: 'Call' has been explicitly marked deprecated here
# NAN_DEPRECATED inline v8::Local
# ^
# ../../nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
#
# define NAN_DEPRECATED __attribute__((deprecated))
# ^
# 4 warnings generated.
# node-pre-gyp ERR! Tried to download(403): https://node-zopfli.s3.amazonaws.com/Release/zopfli-v2.0.2-node-v57-darwin-x64.tar.gz
# node-pre-gyp ERR! Pre-built binaries not found for node-zopfli@2.0.2 and node@8.15.0 (node-v57 ABI, unknown) (falling back to source compile with node-gyp)
# ../src/zopfli-binding.cc:137:15: warning: 'Call' is deprecated [-Wdeprecated-declarations]
# callback->Call(2, argv);
# ^
# ../../nan/nan.h:1617:3: note: 'Call' has been explicitly marked deprecated here
# NAN_DEPRECATED inline v8::Local
# ^
# ../../nan/nan.h:98:40: note: expanded from macro 'NAN_DEPRECATED'
#
# define NAN_DEPRECATED __attribute__((deprecated))
# ^
# 1 warning generated.
# In file included from ../zopfli/src/zopfli/lz77.c:21:
# ../zopfli/src/zopfli/symbols.h:38:12: warning: unused function 'ZopfliGetDistExtraBits' [-Wunused-function]
# static int ZopfliGetDistExtraBits(int dist) {
# ^
# ../zopfli/src/zopfli/symbols.h:61:12: warning: unused function 'ZopfliGetDistExtraBitsValue' [-Wunused-function]
# static int ZopfliGetDistExtraBitsValue(int dist) {
# ^
# ../zopfli/src/zopfli/symbols.h:138:12: warning: unused function 'ZopfliGetLengthExtraBits' [-Wunused-function]
# static int ZopfliGetLengthExtraBits(int l) {
# ^
# ../zopfli/src/zopfli/symbols.h:161:12: warning: unused function 'ZopfliGetLengthExtraBitsValue' [-Wunused-function]
# static int ZopfliGetLengthExtraBitsValue(int l) {
# ^
# ../zopfli/src/zopfli/symbols.h:222:12: warning: unused function 'ZopfliGetLengthSymbolExtraBits' [-Wunused-function]
# static int ZopfliGetLengthSymbolExtraBits(int s) {
# ^
# ../zopfli/src/zopfli/symbols.h:231:12: warning: unused function 'ZopfliGetDistSymbolExtraBits' [-Wunused-function]
# static int ZopfliGetDistSymbolExtraBits(int s) {
# ^
# 6 warnings generated.
# In file included from ../zopfli/src/zopfli/squeeze.c:28:
# ../zopfli/src/zopfli/symbols.h:61:12: warning: unused function 'ZopfliGetDistExtraBitsValue' [-Wunused-function]
# static int ZopfliGetDistExtraBitsValue(int dist) {
# ^
# ../zopfli/src/zopfli/symbols.h:161:12: warning: unused function 'ZopfliGetLengthExtraBitsValue' [-Wunused-function]
# static int ZopfliGetLengthExtraBitsValue(int l) {
# ^
# ../zopfli/src/zopfli/symbols.h:222:12: warning: unused function 'ZopfliGetLengthSymbolExtraBits' [-Wunused-function]
# static int ZopfliGetLengthSymbolExtraBits(int s) {
# ^
# ../zopfli/src/zopfli/symbols.h:231:12: warning: unused function 'ZopfliGetDistSymbolExtraBits' [-Wunused-function]
# static int ZopfliGetDistSymbolExtraBits(int s) {
# ^
# 4 warnings generated.
# (node:37029) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added. Use emitter.setMaxListeners() to increase limit
# jpegtran pre-build test passed successfully
# optipng pre-build test passed successfully
# optipng pre-build test passed successfully
# pngcrush pre-build test passed successfully
# pngquant pre-build test passed successfully
# npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.10 (node_modules/histogram/node_modules/canvas):
# npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.10 install: `node-gyp rebuild`
# npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
# npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.5 (node_modules/canvas):
# npm WARN optional SKIPPING OPTIONAL DEPENDENCY: canvas@1.6.5 install: `node-gyp rebuild`
# npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
# An error occured. { Error: spawn growlnotify ENOENT
# at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
# at onErrorNT (internal/child_process.js:362:16)
# at _combinedTickCallback (internal/process/next_tick.js:139:11)
# at process._tickCallback (internal/process/next_tick.js:181:9)
# errno: 'ENOENT',
# code: 'ENOENT',
# syscall: 'spawn growlnotify',
# path: 'growlnotify',
# spawnargs:
# [ '--image',
# '/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/assets/growl/ok.png',
# '--name',
# 'mocha',
# '-m',
# '280 tests passed in 1316ms',
# 'Passed' ] }
# An error occured. { Error: spawn growlnotify ENOENT
# at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
# at onErrorNT (internal/child_process.js:362:16)
# at _combinedTickCallback (internal/process/next_tick.js:139:11)
# at process._tickCallback (internal/process/next_tick.js:181:9)
# errno: 'ENOENT',
# code: 'ENOENT',
# syscall: 'spawn growlnotify',
# path: 'growlnotify',
# spawnargs:
# [ '--image',
# '/private/var/folders/c6/w26wd_553cd6bnqkr8vj6fym000lj1/T/8ec3f20c-b43d-4e10-8c93-6ce16b5f6f78/mocha/assets/growl/ok.png',
# '--name',
# 'mocha',
# '-m',
# '145 tests passed in 546ms',
# 'Passed' ] }
# (node:38728) DeprecationWarning: "--compilers" will be removed in a future version of Mocha; see https://git.io/vdcSr for more info
# (node:38730) DeprecationWarning: "--compilers" will be removed in a future version of Mocha; see https://git.io/vdcSr for more info
# (node:38732) DeprecationWarning: "--compilers" will be removed in a future version of Mocha; see https://git.io/vdcSr for more info
# CI mode disabled
# The script called "test.browser.unit" which runs "NODE_PATH=. karma start --single-run" failed with exit code 1 https://github.com/kentcdodds/nps/blob/v5.9.0/other/ERRORS_AND_WARNINGS.md
#failed-with-exit-code
# The script called "test.browser" which runs "nps clean build test.browser.unit test.browser.bdd test.browser.tdd test.browser.qunit test.browser.esm" failed with exit code 1 https://github.com/kentcdodds/nps/blob/v5.9.0/other/ERRORS_AND_WARNINGS.md
#failed-with-exit-code
# The script called "test" which runs "nps lint test.node test.browser test.bundle" failed with exit code 1 https://github.com/kentcdodds/nps/blob/v5.9.0/other/ERRORS_AND_WARNINGS.md
#failed-with-exit-code
# npm ERR! Test failed. See above for more details. duration_ms: 272896 ... 1..1