Permalink
Commits on Dec 3, 2014
  1. - fixes issue #326 - adds isEnumerable and isNotEnumerable macros

    silkentrance authored and indexzero committed Nov 22, 2014
    - added required test cases
Commits on Dec 2, 2014
  1. - fixing issue with functions passed in as obj on isEnumerable and is…

    silkentrance committed Dec 2, 2014
    …NotEnumerable leading to assertion failures
  2. Merge pull request #328 from vowsjs/v0.9.x

    indexzero committed Dec 2, 2014
    v0.9.0-rc1
Commits on Nov 22, 2014
  1. - fixes issue #326 - adds isEnumerable and isNotEnumerable macros

    silkentrance committed Nov 22, 2014
    - added required test cases
  2. [doc] Update CHANGELOG.md

    indexzero committed Nov 22, 2014
  3. [api] Allow for multiple exports in required test files. Fixes #284 b…

    indexzero committed Nov 22, 2014
    …y manual merge of changes from @NemoPersona.
  4. Add json-file reporter

    ptit6sky authored and indexzero committed Jan 17, 2013
  5. Adding a new line at end of file

    phstc authored and indexzero committed Jul 2, 2012
  6. Adding Before and After suite

    phstc authored and indexzero committed Jul 2, 2012
  7. Expect a vow to be called n times

    Filirom1 authored and indexzero committed Apr 21, 2012
  8. Minor style fix.

    bacchusrx authored and indexzero committed Feb 22, 2012
  9. [fix] Handle vows for events that execute multiple times (fixes #191)

    bacchusrx authored and indexzero committed Feb 16, 2012
    Add failing test for events that fire multiple times.
    
    In `lib/vows/suite.js` add a property `count` to each vow which is incremented
    every time the vow is executed.
    
    In `runTest` (in `addVow` in `lib/vows.js`), on each execution increment
    `batch.total` if a vow has been executed more than once.
  10. Synchronous Vows

    seebees authored and indexzero committed Nov 28, 2011
    Array literal and 'next' are syntactic sugar for nested Context.
    
    This should make it easy to run Synchronous vows without a nesting headache.
    
    context.js
      Context is now an EventEmitter
      Each Context knows it's children and parent
      Each Context also receive an array of vows.
      addVow added to Context.prototype to push vow onto Context.
      nextTopics added to Context.prototype to handle new 'next' declaration to use in synchronous Context
      tryEnd added to Context.prototype to emit event when this Context (and all it's children) are 'complete'
    
    vows.js
      vow.binding.context.addVow, need to add the vow to the Context
      vows.tryEnd(batch, vow), need to pass the vow to tryEnd so we can call Context.tryEnd(vow)
    
    suite.js
      added 'next' to all Object.keys(tests).filter
      you can not have both a topic and a next declaration
      the topic when running all vows is: topic || next.  Need a bit of logic magic to make this work
      use ctx.nextTopics() to get the right topics to pass to the topic function
      add a uuid to the vow object.  (need a better implementation then Math.random())
      if Array.isArray(ctx.tests) we may need to waitForSibling (this is that for the sake of which we did all this)
      tryEnd is defined here, added a vow param, and if we have one, tryEnd the Context
    
    Heavily modified by @indexzero
  11. make importSuites work with jscover

    exi authored and indexzero committed Mar 16, 2013
    jscover, unlike jscoverage puts another entry into the suites export which
    obviously fails the suit run.
  12. Ensure that assertions fail when arguments are missing

    CMTegner authored and indexzero committed Oct 1, 2012
    * Ensure that all assertions defined in macros.js throw an
    AssertionException when they are called with no arguments
    * Removing duplicate `isDefined` test
  13. Round coverage percentage down.

    davidlehn authored and indexzero committed Oct 16, 2012
    The HTML coverage reporter can show coverage less than 100% as "100".
    This patch will round fractional values down to avoid confusion.
    For example:
      ((275/276) * 100).toFixed(0) == "100"
      Math.floor((275/276) * 100).toFixed(0) == "99"
Commits on Nov 21, 2014
  1. Merge pull request #324 from execjosh/full-paths-in-assertion-error-s…

    indexzero committed Nov 21, 2014
    …tack-traces
    
    Full paths in assertion error stack traces
Commits on Nov 20, 2014
Commits on Nov 19, 2014
  1. Merge pull request #262 from hangtwenty/master

    indexzero committed Nov 19, 2014
    Add instructive error message to importSuites that could help new users.
Commits on Nov 17, 2014
Commits on Nov 6, 2014
  1. Merge pull request #320 from jamescgibson/master

    indexzero committed Nov 6, 2014
    Make assert.epsilon fail for NaN actual value
  2. Tests for assert.epsilon failing on NaN

    jamescgibson committed Nov 6, 2014
    Tests to make sure assert.epsilon fails when either the epsilon or
    actual arguments are NaN. Added a different failure message for the case
    that epsilon is NaN.
Commits on Nov 5, 2014
  1. Make assert.epsilon fail for NaN actual value

    jamescgibson committed Nov 5, 2014
    It makes sense than NaN would not be within a tolerance of a number. but
    since Math.abs(NaN) = NaN and NaN > x evalutes to false for all numeric
    x, assert.epsilon will pass if NaN is passed as the 'actual' argument.
    
    I could not determine how to use vows to assert that an assertion would
    fail, so there is no test case for this change, but the existing tests
    pass. I'm not sure asserting that an assertion will fail is possible
    with the library's promise-oriented design.
    
    This bug was originally found while working on the jStat project which
    relies on vows; if the vows team does not want to make assert.epsilon
    fail for NaN actual value, it would be good to have an additional method
    that would check both that the argument is a number and within the
    tolerance.