TAP version 13 not ok 1 - mocha v6.1.4 The canary is dead: ---
# > canvas@2.4.1 install /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/node_modules/canvas
# > node-pre-gyp install --fallback-to-build
# [canvas] Success: "/tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/node_modules/canvas/build/Release/canvas.node" is installed via remote
# > sharp@0.21.3 install /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/node_modules/sharp
# > (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
# > husky@1.3.1 install /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/node_modules/husky
# > node husky install
# husky > setting up git hooks
# Can't find .git, skipping Git hooks installation.
# Please check that you're in a cloned repository or run 'git init' to create an empty Git repository and reinstall husky.
# > sauce-connect-launcher@1.2.4 postinstall /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/node_modules/sauce-connect-launcher
# > node scripts/install.js || nodejs scripts/install.js
# > jpegtran-bin@4.0.0 postinstall /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/node_modules/jpegtran-bin
# > node lib/install.js
# > optipng-bin@5.1.0 postinstall /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/node_modules/optipng-bin
# > node lib/install.js
# > pngcrush-bin@4.0.0 postinstall /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/node_modules/pngcrush-bin
# > node lib/install.js
# > pngquant-bin@5.0.2 postinstall /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/node_modules/pngquant-bin
# > node lib/install.js
# added 2001 packages from 1824 contributors and audited 27153 packages in 74.656s
# found 7 vulnerabilities (2 low, 3 moderate, 2 high)
# run `npm audit fix` to fix them, or `npm audit` for details
# > mocha@6.1.4 test /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/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" "lib/**/*.md" "test/**/*.md" "example/**/*.md"
# nps is executing `test.node` : rimraf .nyc_output && nps build test.node.bdd test.node.tdd test.node.qunit test.node.exports test.node.unit test.node.integration test.node.jsapi test.node.requires test.node.reporters test.node.only test.node.opts
# nps is executing `build` : browserify -e browser-entry.js --plugin ./scripts/dedefine --ignore 'fs' --ignore 'glob' --ignore 'path' --ignore 'supports-color' -o mocha.js
# 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 (58ms)
# 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 (41ms)
# 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 (41ms)
# 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 (46ms)
# 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 (101ms)
# when reasonable
# should highlight in yellow (51ms)
# when fast
# should not highlight
# Errors
# should include expected code in thrown reporter errors
# should include expected code in thrown interface errors
# 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
# constructor
# when "useColors" option is defined
# should prefer "color" over "useColors"
# should assign "useColors" to "color"
# should call utils.deprecate()
# when "timeout" option is `undefined`
# should not attempt to set timeout
# when "timeout" option is `false`
# should set a timeout of 0
#
#allowUncaught()
# should set the allowUncaught option to true
# should be chainable
#
#bail()
# should set the suite._bail to true if there is no arguments
# should be chainable
#
#checkLeaks()
# should set the ignoreLeaks option to false
# should be chainable
#
#delay()
# should set the delay option to true
# should be chainable
#
#fullTrace()
# should set the fullStackTrace option to true
# should be chainable
#
#globals()
# should be an empty array initially
# should be chainable
# when argument is invalid
# should not modify the whitelist when given empty string
# should not modify the whitelist when given empty array
# when argument is valid
# should add string to the whitelist
# should add contents of string array to the whitelist
#
#growl()
# should be chainable
# if capable of notifications
# should set the growl option to true
# if not capable of notifications
# should set the growl option to false
#
#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
#
#invert()
# should set the invert option to true
# should be chainable
#
#noHighlighting()
# should set the noHighlighting option to true
# should be chainable
#
#reporter()
# should throw reporter error if an invalid reporter is given
# should be chainable
#
#run(fn)
# should execute the callback when complete
# should not raise errors if callback was not provided
#
#reporter("xunit")
#run(fn)
#
#

# should not raise errors if callback was not provided
#
#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
# 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)
# when value is less than lower bound
# should clamp to lower bound given numeric
# should clamp to lower bound given timestamp
# when value is equal to lower bound
# given numeric value
# should set the timeout value
# should disable timeouts
# given string timestamp
# should set the timeout value
# should disable timeouts
# when value is within `setTimeout` bounds
# given numeric value
# should set the timeout value
# should enable timeouts
# given string timestamp
# should set the timeout value
# should enable timeouts
# when value is equal to upper bound
# given numeric value
# should set the timeout value
# should disable timeouts
# given string timestamp
# should set the timeout value
# should disable timeouts
# when value is out-of-bounds
# given numeric value
# should clamp the value to max timeout
# should enable timeouts
# given string timestamp
# should clamp the value to max timeout
# should enable timeouts
#
#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
# when passed a time-formatted string
# should convert to ms
# .title
# should be present
# .titlePath()
# returns the concatenation of the parent's title path and runnable's title
# when arity >= 1
# should be .async
# should not be .sync
# when arity == 0
# should not be .async
# 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 with error
# 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 (51ms)
# - 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
# if timed-out
# should ignore call to `done` and not execute callback again
# if async
# this.skip() should call callback with Pending
# this.skip() should halt synchronous execution
#
#isFailed()
# should return `true` if test has not failed
# should return `true` if test has failed
# should return `false` if test is pending
#
#resetTimeout()
# should not time out if timeouts disabled after reset
# static method
# toValueOrError
# should return identity if parameter is truthy
# should return an Error if parameter is falsy
# 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
# should return and not increment failures when test is pending
# .failHook(hook, err)
# should increment .failures
# should augment hook title with current test title
# should emit "fail"
# should not emit "end" if suite bail is not true
# .run(fn)
# should emit "retry" when a retryable test fails
# allowUncaught
# should allow unhandled errors to propagate through
# should not allow unhandled errors in sync hooks to propagate through
# should allow unhandled errors in sync hooks to propagate through
# async - should allow unhandled errors in hooks to propagate through
# stackTrace
# shortStackTrace
# should prettify the stack-trace
# longStackTrace
# should display the full stack-trace
# hugeStackTrace
# should not hang if overlong error message is single line
# should not hang if overlong error message is multiple lines
# abort
# should set _abort property to true
# should return the Runner
# uncaught()
# when provided an object argument
# when argument is not an Error
# should fail with a transient Runnable and a new Error coerced from the object
# when argument is an Error
# should add the "uncaught" property to the Error
# when no Runnables are running
# should fail with a transient Runnable and the error
# when Runner has already started
# should not emit start/end events
# when Runner has not already started
# should emit start/end events for the benefit of reporters
# when a Runnable is running or has run
# should clear any pending timeouts
# when current Runnable has already failed
# should not attempt to fail again
# when current Runnable has been marked pending
# should not attempt to fail
# when the current Runnable has already passed
# should fail with the current Runnable and the error
# should notify run has ended
# when the current Runnable is currently running
# when the current Runnable is a Test
# should fail with the current Runnable and the error
# should notify test has ended
# should not notify run has ended
# should call any remaining "after each" hooks
# when the current Runnable is a "before all" or "after all" hook
# should continue to the next suite
# should not notify run has ended
# when the current Runnable is a "before each" hook
# should associate its failure with the current test
# should not notify run has ended
# when the current Runnable is an "after each" hook
# should associate its failure with the current test
# should not notify run has ended
# 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
# should copy the root property
# .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
# when the suite is pending
# should not create a hook
# .afterEach()
# wraps the passed in function in a Hook
# adds it to _afterEach
# appends title to hook
# uses function name if available
# .create()
# does not create a second root suite
# does not denote the root suite by being titleless
# .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
# constructor
# should throw an error if the title isn't a string
# should not throw if the title is a string
# should report listened-for deprecated events as deprecated
# timeout()
# should convert a string to milliseconds
# hasOnly()
# should return true if a test has `only`
# should return true if a suite has `only`
# should return true if nested suite has `only`
# should return false if no suite or test is marked `only`
# .filterOnly()
# should filter out all other tests and suites if a test has `only`
# should filter out all other tests and suites if a suite has `only`
# 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
# non-extensible
# 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
# 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 (50ms)
# 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)
# 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
# should return false if the object is null
# escape
# replaces the usual xml suspects
# replaces invalid xml characters
# deprecate
# should coerce its parameter to a string
# should cache the message
# should ignore falsy messages
# warn
# should call process.emitWarning
# should not cache messages
# should ignore falsy messages
# sQuote/dQuote
# should return its input as string wrapped in single quotes
# should return its input as string wrapped in double quotes
# ngettext
# should return plural string if 'n' is 0
# should return singular string if 'n' is 1
# should return plural string if 'n' is greater than 1
# should return undefined if 'n' is not a non-negative integer
# createMap
# should return an object with a null prototype
# should add props to the object
# should add props from all object parameters to the object
# cli/config
# loadConfig()
# when parsing succeeds
# when supplied a filepath with ".yaml" extension
# should use the YAML parser
# when supplied a filepath with ".yml" extension
# should use the YAML parser
# when supplied a filepath with ".js" extension
# should use the JS parser
# when supplied a filepath with ".jsonc" extension
# should use the JSON parser
# when supplied a filepath with ".json" extension
# should use the JSON parser
# when supplied a filepath with unsupported extension
# should use the JSON parser
# when config file parsing fails
# should throw
# findConfig()
# should look for one of the config files using findup-sync
# should support an explicit `cwd`
# node-flags
# isNodeFlag()
# for all allowed node environment flags
# --abort-on-uncaught-exception should return true
# --experimental-modules should return true
# --expose-http2 should return true
# --force-async-hooks-checks should return true
# --icu-data-dir should return true
# --inspect-brk should return true
# --inspect-port should return true
# --inspect should return true
# --loader should return true
# --max-old-space-size should return true
# --napi-modules should return true
# --no-deprecation should return true
# --no-warnings should return true
# --openssl-config should return true
# --pending-deprecation should return true
# --redirect-warnings should return true
# --require should return true
# --throw-deprecation should return true
# --tls-cipher-list should return true
# --trace-deprecation should return true
# --trace-event-categories should return true
# --trace-event-file-pattern should return true
# --trace-events-enabled should return true
# --trace-sync-io should return true
# --trace-warnings should return true
# --track-heap-objects should return true
# --use-bundled-ca should return true
# --use-openssl-ca should return true
# --v8-pool-size should return true
# --zero-fill-buffers should return true
# -r should return true
# when expecting leading dashes
# should require leading dashes
# should return false for --require/-r
# special cases
# should return true for flags starting with "preserve-symlinks"
# should return true for flags starting with "harmony-" or "harmony_"
# should return true for flags starting with "trace-" or "trace_"
# should return true for "harmony" itself
# should return true for "gc-global"
# should return true for "es-staging"
# should return true for "use-strict"
# should return true for flags starting with "--v8-"
# impliesNoTimeouts()
# should return true for debug/inspect flags
# unparseNodeFlags()
# should handle single v8 flags
# should handle multiple v8 flags
# options
# loadOptions()
# when no parameter provided
# should return an object containing positional args, defaults, and anti-reloading flags
# when parameter provided
# mocha.opts
# when path to mocha.opts (`--opts `) is invalid
# when path is not default
# should attempt to load file at path
# should throw
# when path to mocha.opts is unspecified
# should attempt to load default mocha.opts
# should set opts = false
# when path to mocha.opts (`--opts `) is valid
# should return merged options incl. mocha.opts
# should have attempted to load two files
# should set opts = false
# when called with opts = false (`--no-opts`)
# should return parsed args, default config, config file, and package.json
# should not attempt to read any mocha.opts
# should set opts = false
# package.json
# when path to package.json (`--package `) is valid
# should return merged options incl. package.json opts
# should not try to find a package.json
# should set package = false
# when path to package.json (`--package `) is invalid
# should throw
# when path to package.json unspecified
# should return merged options incl. found package.json
# should set package = false
# when called with package = false (`--no-package`)
# should return parsed args, default config, package.json and mocha.opts
# should not look for package.json
# should set package = false
# rc file
# when called with config = false (`--no-config`)
# should return parsed args, default config, package.json and mocha.opts
# should not attempt to load a config file
# should not attempt to find a config file
# should set config = false
# when path to config (`--config `) is invalid
# should not look for a config
# should attempt to load file at path
# should throw to warn the user
# when called with unspecified config
# when an rc file would be found
# should look for a config
# should attempt to load file at found path
# should set config = false
# when an rc file would not be found
# should look for a config
# should not attempt to load a config file
# should set config = false
# config priority
# should prioritize mocha.opts over defaults
# should prioritize package.json over mocha.opts (39ms)
# should prioritize rc file over package.json (38ms)
# should prioritize args over rc file (42ms)
# when called with a one-and-done arg
# "help"
# should return basic parsed arguments and flag
# "h"
# should return basic parsed arguments and flag
# "version"
# should return basic parsed arguments and flag
# "V"
# should return basic parsed arguments and flag
# "interfaces"
# should return basic parsed arguments and flag
# "reporters"
# should return basic parsed arguments and flag
# cli "run" command
# helpers
# validatePlugin()
# should disallow an array of module names
# list()
# when provided a flat array
# should return a flat array
# when provided a nested array
# should return a flat array
# when given a comma-delimited string
# should return a flat array
# command
# run
# builder
# number type
# should include option retries
# should include option slow
# should include option timeout
# string type
# should include option fgrep
# should include option grep
# should include option package
# should include option reporter
# should include option ui
# boolean type
# should include option allow-uncaught
# should include option async-only
# should include option bail
# should include option check-leaks
# should include option color
# should include option delay
# should include option diff
# should include option exit
# should include option forbid-only
# should include option forbid-pending
# should include option full-trace
# should include option growl
# should include option inline-diffs
# should include option interfaces
# should include option invert
# should include option no-colors
# should include option recursive
# should include option reporters
# should include option sort
# should include option watch
# array type
# should include option exclude
# should include option extension
# should include option file
# should include option global
# should include option require
# should include option reporter-option
# should include option spec
# Mocha
#
#addFile
# should add the given file to the files array
# should be chainable
#
#loadFiles
# should load all files from the files array
# should execute the optional callback if given
# .unloadFile
# should unload a specific file from cache
#
#unloadFiles
# should unload all test files from cache
# should be chainable
# 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
# 510 passing (4s)
# 2 pending
# nps is executing `test.node.integration` : node bin/mocha --timeout 10000 --slow 3750 "test/integration/**/*.spec.js"
# mocha binary
# should not output colors to pipe
# globbing like --compilers
# should find a file of each type
# config
# should return the same values for all supported config types
# when configuring Mocha via a ".js" file
# should load configuration given absolute path
# should load configuration given cwd-relative path
# when path is neither absolute or relative
# should load configuration given module-relative path
# utils.deprecate test
# should print unique deprecation only once
# 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
# event order
# trivial test case
# should assert trivial event order
# --bail test case
# should assert --bail event order
# --retries test case
# should assert --retries event order
# --delay test case
# should assert --delay event order
# --retries and --bail test case
# should assert --retries event order
# 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
# globbing test
# should find this test
# globbing test
# should find this test
# globbing
# by the shell
# should find the first level test
# should not find a non-matching pattern
# should handle multiple non-matching patterns
# should handle both matching and non-matching patterns in the same command
# by Mocha
# should find the first level test
# should not find a non-matching pattern
# should handle multiple non-matching patterns
# should handle both matching and non-matching patterns in the same command
# double-starred
# should find the tests on multiple levels
# should not find a non-matching pattern
# should handle both matching and non-matching patterns in the same command
# hook error handling
# before hook error
# should verify results
# before hook error tip
# should verify results
# before hook root error
# should verify results
# before hook nested error
# should verify results
# before hook deepnested error
# should verify results
# before each hook error
# should verify results
# after hook error
# should verify results
# after hook nested error
# should verify results
# after hook deepnested 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
# current test title of all hooks
# init command
# should break if no path supplied
# should create some files in the dest dir
# invalid arguments
# should exit with failure if arguments are invalid
# 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
# when disabled
# should display a diff
# .only()
# bdd
# should run only tests that marked as `only`
# tdd
# should run only tests that marked as `only`
# qunit
# should run only tests that marked as `only`
# --async-only
# should fail synchronous specs
# should allow asynchronous specs
# --bail
# should stop after the first error
# should stop after the first error - async
# should stop all tests after failing "before" hook
# should stop all tests after failing "beforeEach" hook
# should stop all tests after failing test
# should stop all tests after failing "after" hook
# should stop all tests after failing "afterEach" hook
# --compilers
# should report deprecation
# --debug
# Node.js v8+
# should invoke --inspect
# should invoke --inspect-brk (2039ms)
# should respect custom host/port
# should warn about incorrect usage for version
# Node.js v6
# - should start debugger
# - should respect custom host/port
# --delay
# should run the generated test suite
# should execute exclusive tests only
# should throw an error if the test suite failed to run
# --exclude
# should exclude specific files
# should exclude globbed files
# should exclude multiple patterns
# --exit
# default behavior
# should force exit after root suite completion
# when enabled
# should force exit after root suite completion
# when disabled
# should not force exit after root suite completion
# --extension
# should allow comma-separated variables (1945ms)
# --file
# should run tests passed via file first
# should run multiple tests passed via file first
# --forbid-only
# should succeed if there are only passed tests
# should fail if there are tests marked only
# should fail if there are tests in suites marked only
# should fail if there is empty suite marked only
# should fail if there is suite marked only which matches grep
# should succeed if suite marked only does not match grep
# should succeed if suite marked only does not match inverted grep
# --forbid-pending
# should succeed if there are only passed tests
# should fail if there are tests in suites marked skip
# should fail if there is empty suite marked pending
# should fail if there are tests marked skip
# should fail if there are pending tests
# should fail if tests call `skip()`
# should fail if beforeEach calls `skip()`
# should fail if before calls `skip()`
# --grep
# should run specs matching a string
# should run specs matching a RegExp
# with RegExp-like strings (pattern followed by flag)
# with string as pattern
# when used with --invert
# should run specs that do not match the pattern
# when both --fgrep and --grep used together
# should report an error
# --help
# should work despite the presence of "mocha.opts"
# --interfaces
# should dump a list of all interfaces with descriptions
# --invert
# when used without --fgrep or --grep
# it should report an error
# node flags
# should not consider argument values to be node flags
# --opts
# should work despite nonexistent default options file
# should throw an error due to nonexistent options file
# --reporter-option
# when given options w/ invalid format
# should display an error
# should allow comma-separated values
# should allow repeated options
# --reporters
# should dump a list of all reporters with descriptions
# --retries
# should retry test failures after a certain threshold
# --sort
# should sort tests in alphabetical order
# --ui
# should load interface and run it
# should work if required and name added to Mocha's `interfaces` prop
# --watch
# when enabled
# should show the cursor and signal correct exit code, when watch process is terminated
# pending
# pending specs
# should be created by omitting a function
# should return the test object when used via shorthand methods
# should keep hierarchies of suites
# synchronous skip()
# in spec
# should immediately skip the spec and run all others
# in after
# should run all tests
# in before
# should skip all suite specs
# should run before and after hooks
# in before with nested describe
# should skip all suite specs, even if nested
# in beforeEach
# should skip all suite specs
# asynchronous skip()
# in spec
# should immediately skip the spec and run all others
# in before
# should skip all suite specs
# should run before and after hooks
# in before with nested describe
# should skip all suite specs, even if nested
# in beforeEach
# should skip all suite specs
# regressions
# issue-1327: should run all 3 specs exactly once
# issue-1991: Declarations do not get cleaned up unless you set them to `null` - Memory Leak (17438ms)
# issue-2315: cannot read property currentRetry of undefined
# issue-2406: should run nested describe.only suites
# issue-2417: should not recurse infinitely with .only suites nested within each other
# issue-1417 uncaught exceptions from async specs
# 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)
# loader
# loads a reporter from a path relative to the current working directory
# loads a reporter from an absolute path
# tap
# should fail if given invalid `tapVersion`
# places exceptions correctly in YAML blocks
# produces valid TAP v13 output
# for passing.fixture.js
# for reporters.fixture.js
# retries
# are ran in correct order
# should exit early if test passes
# should let test override
# should not hang w/ async test
# suite w/no callback
# should throw a helpful error message when a callback for suite is not supplied
# skipped suite w/no callback
# should not throw an error when a callback for skipped suite is not supplied
# skipped suite w/ callback
# should not throw an error when a callback for skipped suite is supplied
# suite returning a value
# should not give a deprecation warning for suite callback returning a value
# this.timeout()
# is respected by sync and async suites
# uncaught exceptions
# handles uncaught exceptions from hooks
# 1) handles uncaught exceptions from async specs
# handles uncaught exceptions from which Mocha cannot recover
# 180 passing (3m)
# 3 pending
# 1 failing
# 1) uncaught exceptions
# handles uncaught exceptions from async specs:
# Uncaught AssertionError [ERR_ASSERTION]: 1 === 2
# + expected - actual
# -1
# +2
#
# at /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/test/integration/uncaught.spec.js:45:14
# at /tmp/62e03495-ac75-4d37-b558-492cdbdb6299/mocha/test/integration/helpers.js:111:9
# at ChildProcess. (test/integration/helpers.js:271:5)
# at maybeClose (internal/child_process.js:915:16)
# at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
# info sharp Using cached /home/jenkins/.npm/_libvips/libvips-8.7.0-linux-x64.tar.gz
# jpegtran pre-build test passed successfully
# optipng pre-build test passed successfully
# pngcrush pre-build test passed successfully
# pngquant pre-build test passed successfully
# notification support prerequisites not installed... cannot enable!
# notification support prerequisites not installed... cannot enable!
# notification support prerequisites not installed... cannot enable!
# 'invalidReporter' reporter not found
# The script called "test.node.integration" which runs "node bin/mocha --timeout 10000 --slow 3750 "test/integration/**/*.spec.js"" failed with exit code 1 https://github.com/kentcdodds/nps/blob/v5.9.4/other/ERRORS_AND_WARNINGS.md
#failed-with-exit-code
# The script called "test.node" which runs "rimraf .nyc_output && nps build test.node.bdd test.node.tdd test.node.qunit test.node.exports test.node.unit test.node.integration test.node.jsapi test.node.requires test.node.reporters test.node.only test.node.opts" failed with exit code 1 https://github.com/kentcdodds/nps/blob/v5.9.4/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.4/other/ERRORS_AND_WARNINGS.md
#failed-with-exit-code
# npm ERR! Test failed. See above for more details. duration_ms: 320313 ... 1..1