Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mocha constructor creates duplicate entries in mocha.globals #3933

Closed
4 tasks done
pascalpp opened this issue May 28, 2019 · 1 comment
Closed
4 tasks done

Mocha constructor creates duplicate entries in mocha.globals #3933

pascalpp opened this issue May 28, 2019 · 1 comment

Comments

@pascalpp
Copy link
Contributor

pascalpp commented May 28, 2019

Prerequisites

  • Checked that your issue hasn't already been filed by cross-referencing issues with the faq label
  • Checked next-gen ES issues and syntax problems by using the same environment and/or transpiler configuration without Mocha to ensure it isn't just a feature that actually isn't supported in the environment in question or a bug in your code.
  • 'Smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, your usage of Mocha, or Mocha itself
  • Ensured that there is no discrepancy between the locally and globally installed versions of Mocha. You can find them with: node node_modules/.bin/mocha --version(Local) and mocha --version(Global). We recommend that you not install Mocha globally.

Description

  • When creating a mocha instance with options.globals, duplicate globals are created in mocha.options.globals.
  • When adding globals on an existing mocha instance, more duplicates are created.

Steps to Reproduce

const Mocha = require('./lib/mocha')

// create a mocha instance with options.globals
const mocha = new Mocha({ globals: ['foo', 'bar'] })

// duplicate entries are created
console.log(mocha.options.globals)
// [ 'foo', 'bar', 'foo', 'bar' ]

// call mocha.globals with the same global entries
mocha.globals(['foo', 'bar'])

// more duplicate entries are created
console.log(mocha.options.globals)
// [ 'foo', 'bar', 'foo', 'bar', 'foo', 'bar' ]

Expected behavior: [What you expect to happen]

mocha.options.globals should only contain unique entries.

Actual behavior: [What actually happens]

mocha.options.globals contains duplicate entries.

Reproduces how often: [What percentage of the time does it reproduce?]

100%

Versions

  • The output of mocha --version and node node_modules/.bin/mocha --version: 6.1.4
  • The output of node --version: 10.15.3
  • Your operating system
    • name and version: Mac OS X Mojave
    • architecture (32 or 64-bit): 64bit
  • Your shell (e.g., bash, zsh, PowerShell, cmd): bash
  • Your browser and version (if running browser tests): n/a
  • Any third-party Mocha-related modules (and their versions): n/a
  • Any code transpiler (e.g., TypeScript, CoffeeScript, Babel) being used (and its version): n/a

Additional Information

c.f. discussion on #3914

@pascalpp
Copy link
Contributor Author

Will attempt to resolve this in #3914

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant