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

feature(mocha/grep): improve grep - issue #808 #1650

Closed
wants to merge 13 commits into from

Conversation

a8m
Copy link
Contributor

@a8m a8m commented Apr 10, 2015

Add the ability to pass grep as a regexp-like string. (query in the browser or flag in the cli).
This improvement gives you pass a regexp that including flags, and solved #808 as well.

e.g:

$ mocha test/ --grep /^Suite/i

RobLoach and others added 7 commits October 19, 2014 12:56
https://travis-ci.org/mochajs/mocha/jobs/38422941

The only problem in this error is that npm v1.2 doesn’t support `^`
version specifier. It's not the problem of Node v0.8 itself.

So I updated the installation command to install the latest version of
npm, before installing the dependencies of mocha.
Users may register `Runnable`s as asynchronous in one of two ways:

- Via callback (by defining the body function to have an arity of one)
- Via promise (by returning a Promise object from the body function)

When both a callback function is specified *and* a Promise object is
returned, the `Runnable`'s resolution condition is ambiguous.
Practically speaking, users are most likely to make this mistake as they
transition between asynchronous styles.

Currently, Mocha silently prefers the callback amd ignores the Promise
object. Update the implementation of the `Runnable` class to fail
immediately when the test resolution method is over-specified in this
way.
# By Shinnosuke Watanabe
# Via Shinnosuke Watanabe
* 'travis' of https://github.com/shinnn/mocha:
  Require npm version which supports `^` specifier
…v3.0.0

# By Rob Loach
# Via Rob Loach
* 'update/glob' of https://github.com/RobLoach/mocha:
  Update glob to 4.0.6
This results in a slight change to the behavior of --async-only:
instead of failing immediately, check to see if the test returned
a promise (or otherwise failed) before complaining about not
having a done callback.
* commit '7657cb11d960cf2cd8407b256019b2e34dc93328':
  Allow --async-only to be satisfied by returning a promise
@a8m a8m closed this Apr 10, 2015
@a8m a8m reopened this Apr 10, 2015
@a8m
Copy link
Contributor Author

a8m commented Apr 13, 2015

/cc @mochajs/mocha

@danielstjules
Copy link
Contributor

LGTM! :)

Some might argue that it breaks BC, and would require a major bump. e.g.:

it('/test/i', function() {});
it('test', function() {});

with something like mocha --grep /test/i test.js. Before this PR, you'll run one spec. After, you'll run two. But it's certainly an edge case.

@dasilvacontin
Copy link
Contributor

I couldn't take a look at it yet.

Def break BC, but since we have other changes that do so too we can just ship them together in the next major.

Thanks for the work @a8m! :)

@boneskull
Copy link
Member

@a8m possible to rebase against branch v3.0.0?

@a8m
Copy link
Contributor Author

a8m commented Apr 14, 2015

Sure, l'II do it later.
same with #1634, #1591

thx

@a8m a8m added this to the v3.0.0 milestone Apr 18, 2015
@a8m
Copy link
Contributor Author

a8m commented Apr 18, 2015

Rebased. but it seems to be causing an error on Travis.
Is there anyone who understand what the problem is ? build-1662
/cc @mochajs/mocha

@dasilvacontin
Copy link
Contributor

old npm version carret issue

@jbnicolai
Copy link

Yep, not an actual issue.

@a8m great feature! Let's merge and ship asap :)

* commit '3b02d830c0c5f20c5be9acaa9ef45b824bcbf965': (29 commits)
  Add cross-frame compatible Error checking for fail
  Remove moot `version` property from bower.json
  HISTORY: fix typo in 2.2.5
  HISTORY: improve 2.2.5 changelog
  removing duplicate flags adding additional iojs flags
  Prevent default browser behavior for failure/pass links
  Removes return statement irt mochajs#1700.
  Removes accidentally commited test.js
  Add support of --harmony_arrow_functions V8 option
  Release 2.2.5
  Upgrade jsdiff to v1.4.0
  fix 'location is not defined' error
  Update json-stream.js
  Sanity check: update fixtures/regression/issue-1327.js to be closer to orig test
  Fix diff colors
  use a valid SPDX license identifier
  Add integration tests
  Handling of error.htmlMessage in the HTML reporter
  Split message and stack into two separate variables
  fix(utils/stringify): fix issue mochajs#1660
  ...

Conflicts:
	test/acceptance/misc/asyncOnly.js
@jbnicolai jbnicolai force-pushed the master branch 3 times, most recently from 2f458ab to 2952eca Compare July 5, 2015 10:25
@boneskull
Copy link
Member

@a8m this still needs to be rebased... not sure what's happening here.

boneskull and others added 2 commits July 11, 2015 21:31
* master: (27 commits)
  Remove TODO from Browserify transition
  Build using Browserify
  Rework hook error tests to actually assert
  Move hook error test to integration in prep for rewrite
  Fix 1766: stackfilter should not ignore node_modules
  Remove __proto__ parsing from browser build scripts
  Replace __proto__ with lodash.create
  Removes heading newline.
  support escaped spaces in cli options
  Fixes indentation.
  Simplifies split regex, the filter already catches empty args.
  Removes unneeded trim, the filter does the same.
  Simplifies filter by truthy values.
  add lint check to test-all target.  YES!
  remove dupe in contributors list
  lock down supports-color dependency
  lint runner.js
  Escape test/suite title for re in html reporter
  Remove npm version from engines field
  CI: Update npm when < 1.3.7
  ...

Conflicts:
	.travis.yml
	lib/runnable.js
Add the ability to pass grep as a regexp-like string. (query in the
browser or flag in the cli).
This improvement gives you pass a regexp that including a flag, and
solved mochajs#808 as well.
@a8m
Copy link
Contributor Author

a8m commented Jul 18, 2015

Replaced with #1808(rebased on top of v3.0.0)

@a8m a8m closed this Jul 18, 2015
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 this pull request may close these issues.

None yet

10 participants