Permalink
Commits on Aug 10, 2010
  1. Update default test runner. Change output behavior some

    Benjamin Thomas
    Benjamin Thomas committed Aug 10, 2010
Commits on Aug 9, 2010
  1. Update authors file

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
  2. Merge branch 'rewrite' into master

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
    This was a complete rewriting of node-async-testing from the ground up.
    Pretty much everything about node-async-testing has changed. But I hope
    you will agree that I have kept the same spirit of the first version and
    have even better addressed the goals listed in the README.
    
    New changes:
    
    + Tests can be run in parallel to have them run very quickly.  The
    default is still to have each test run consecutively one after another
    for the most accurate results.
    + No more do we try and guess if a test is synchronous. I got bit by
    that too many times when I changed a test to be asynchronous but forgot
    to update the arguments.
    + The suite runner is now much more robust, it can take modules, file
    names, directory names or some combination there of.
    + When running individual test files from the command line it is now
    easy to pass in arguments to change the output or the behaivor.  For
    example, it is now trivially easy to run one specific test in a suite.
    + Colored output. I'm quite excited about this, but I suppose I should
    add an option to disable it.
    + It is now possible to easily write your own test runners and to format
    the results however you'd like.
    
    Things that are now a bit more work:
    
    + We now assume that the default use case is to have one test suite per
    file.  It is still easy to have more than one test suite in a file but
    we have no examples of it. Unfortunately, however if you have more than
    one suite it a file your suites don't get to have names.  As
    node-async-testing gets the name of a suite from the file it is in. I'd
    be interested in hearing suggestions for how to set a name in a suite in
    a way that doesn't feel tacked on. Even though I am talking about
    tacking this on...  :)
    + Setup/teardown functions are not nearly as straight-forward. I felt
    that an even simpler and easier system for writing tests out-weighed the
    convenience of the previous setup/teardown functions.  Now you have to
    write your setup/teardown functions as a wrapper function which take a
    test and return a new test.  No functionallity has been lost, it just
    isn't as convenient.
  3. Address the issue of setup/teardown functions.

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
  4. More documenting changes. You'd think I'd learn to do these all in on…

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
    …e commit
  5. Update README and documentation

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
  6. Fix require path issue from moving node-async-test command

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
  7. Small code changes. Biggest being rename `test.finished` to `test.fin…

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
    …ish`
    
    Other than that just clean up the code in a couple spots.
  8. add package.json file

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
  9. add ifError method to assert module wrapping

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
  10. Basically, document and clean up the new version a bit. Both the code…

    Benjamin Thomas
    Benjamin Thomas committed Aug 9, 2010
    … and the workflow.
Commits on Jul 9, 2010
  1. added ifError method for assert module

    clement authored and Benjamin Thomas committed Jul 6, 2010
Commits on Jun 18, 2010
  1. Update api.markdown again

    Benjamin Thomas
    Benjamin Thomas committed Jun 18, 2010
  2. Try out replacing the current dir with '.' in log level 1 in the defa…

    Benjamin Thomas
    Benjamin Thomas committed Jun 18, 2010
    …ult test runner.
  3. Update api.markdown slightly.

    Benjamin Thomas
    Benjamin Thomas committed Jun 18, 2010
  4. Addressed the rest of the issues in todo.txt.

    Benjamin Thomas
    Benjamin Thomas committed Jun 18, 2010
    + Exit status codes.  `node-async-testing` will now exit with the number
      of tests that failed.
    + If a test doesn't finish, mention that on exit.  Added a new event,
      'onPrematureExit'.
    + Cleanup misorganized code: testResults function.  Done.
    + In runSuites, if can't find a file, print warning, don't error.  Done.
    + Decide if the distinction between errors and failures useful.
    
      Yes. I find it useful at least.
    + Decide if we should require all tests to call the finished function?
    
      Yes. I can't tell you how often I switch a function from synchronous
      to asynchronous and used to forget to add the `finished` function to
      the function parameters.  No more!
Commits on Jun 15, 2010
Commits on Jun 14, 2010
  1. A ton more changes. Now have a colored test runner using callbacks fr…

    Benjamin Thomas
    Benjamin Thomas committed Jun 14, 2010
    …om the runSuites method.
    
    Still a few bugs.  And that whole cleaning up and simplifying thing kind
    of went out the window. But I added a lot of cool new features!  Will
    have to clean up next, again, I guess.
  2. Add LICENSE and AUTHORS file

    Benjamin Thomas
    Benjamin Thomas committed Jun 14, 2010
  3. A complete rewrite of node-async-testing. Tests can now be run serial…

    Benjamin Thomas
    Benjamin Thomas committed Jun 14, 2010
    …ly or in parallel.
    
    The old version of node-async-testing had kind of been hacked together
    quickly, and as its goals changed, the code base did its best to morph
    itself to handle the new situations.  Unfortunately, this meant that at
    its core, node-async-testing was written for one testing paradigm (no
    suites) but was rewritten to handle another (suites).
    
    I decided that cleaning it up was in order.  So, this is that attempt.
    As to how successful I was at 'cleaning it up', I'm not sure.  However,
    this does bring a major new feature!
    
    Tests can now be run either serially or in parallel:
    
    + If tests are run serially (the default, and basically the same as it
      works now), then errors are caught and properly associated with their
      tests.
    + If tests are run in parallel, then they are all started at the same
      time.  This is much, much faster and very cool.  node-async-testing
      will then do its best to figure out which errors (assertions still
      work just fine) are with which tests by looking at which tests are
      still running when an error happens and then narrowing down from
      there.
    
    At this point the rewrite isn't usable as it doesn't really report the
    results of the tests. Yet.  But that will come next.  I'm working on
    adding some ideas from http://github.com/caolan/nodeunit -- primarily,
    the colored output and the fantastic API for building test runners.
    
    Also, the setup and teardown functionallity has not been readded to the
    rewrite. I am considering going with nodeunit's approach to that by just
    making you wrap your test functions in your own setup/teardown
    functions.  Simplifies things a lot!
    
    See `test/test-everything.js` for a (very rough) example of how things
    are looking.
    
    Feedback much appreciated!
    
    (`node-async-test`, `README.markdown` and the files in `examples`
    have not been updated.)
Commits on Jun 3, 2010
  1. Move node-async-test functions to async_testing.js

    gsf authored and Benjamin Thomas committed Apr 18, 2010
    I've moved most of the code from node-async-test into the
    runSuitesInPaths method in async_testing.js.  This greatly
    simplifies node-async-test and allows me to write a
    "test/all.js" file with a single line (aside from requires):
    
      asyncTesting.runSuitesInPaths([path.dirname(module.filename)]);
    
    We may want to think about combining the runSuitesInPaths utility
    in with runSuites at some point.  It would be neat if runSuites
    could act on dirs or filenames or modules.
Commits on Mar 23, 2010
  1. Replaced "excited" with "exited"

    gsf authored and Benjamin Thomas committed Mar 22, 2010
  2. Modified stdio writeError for node net2 merge

    gsf authored and Benjamin Thomas committed Mar 22, 2010
Commits on Mar 18, 2010
  1. Add todo list

    Benjamin Thomas
    Benjamin Thomas committed Mar 18, 2010
  2. Only enter 'teardown' phase if the test suite gets there. otherwise e…

    Benjamin Thomas
    Benjamin Thomas committed Mar 18, 2010
    …rrors can be reported to happen in the wrong 'phases'
Commits on Feb 22, 2010
  1. Remove Promises, and make it so errors thrown during setup and teardo…

    Benjamin Thomas
    Benjamin Thomas committed Feb 22, 2010
    …wn are properly caught.
Commits on Feb 17, 2010
  1. Fix bug where synchronous errors weren't getting caught

    Benjamin Thomas
    Benjamin Thomas committed Feb 17, 2010
  2. More cosmetic changes

    Benjamin Thomas
    Benjamin Thomas committed Feb 17, 2010
  3. Mostly cosmetic changes to the output and README

    Benjamin Thomas
    Benjamin Thomas committed Feb 17, 2010
Commits on Feb 16, 2010
  1. Update README and example

    Benjamin Thomas
    Benjamin Thomas committed Feb 16, 2010
  2. Better handling for uncaught errors. Now you can listen for uncaught …

    Benjamin Thomas
    Benjamin Thomas committed Feb 16, 2010
    …errors on a test, and make assertions on those errors.
    
    See the README for an example.
  3. Major overhaul. Completely breaks backwards compatability. Read the r…

    Benjamin Thomas
    Benjamin Thomas committed Feb 16, 2010
    …est of the commit for details.
    
    + Now, you have to use test suites
    + Suites, by defualt, wait for each test to finish
    + Split 'runTests()' up into 'addTests()' and 'runTests()'
    + ERRORS ARE PROPERLY CAUGHT AND MATCHED TO TESTS!!
    + The arguments passed to tests are different. They used to get the test
      object, and now they get: the assertion object, a finish function, and
      then the test object
Commits on Feb 14, 2010
  1. A couple nitpicky syntax and output changes

    Benjamin Thomas
    Benjamin Thomas committed Feb 14, 2010