ChangeLog

1.6.0 (2014-01-05)

Bug Fixes

  • browser: fix hide success class added on list and not on body (11c9dfbb)
  • default: there's no more default path in requires (00217db1)
  • errors: handle lines in stack trace that doesn't point a file (c8b8ef38)

Features

  • browser:
    • add a selection state on examples in the list (5a106667)
    • add desktop version of the test runner (24374373)
    • disable snap.js on desktop (a0bc85cf)

Breaking Changes

  • default: due to 00217db1, the support directory is no longer required by default.

    In order to fix it you can simply add the following option when running you tests or in your .spectacular config:

    —require spec/support

1.5.1 (2013-11-27)

Bug Fixes

  • browser:
    • fix drawers button not working when drawers are open (b974d3b5)
    • remove leading slash from rerun url (7886d9db)
  • extensions: add existence check before decorating native classes (934f11a0)
  • utils: limit utils.inspect to owned properties (9e0ab20f)

Features

  • browser: add documentation and github links to the runner (d283a4de)

1.5.0 (2013-11-24)

Bug Fixes

  • $travis:
    • fix slimerjs download on travis (2bfd58f0)
    • fix broken phantomjs run (eabb7965)
    • fix error in travis phantomjs with error stack (8fd28569)
  • browser: handle properly server errors response (c63b9908)
  • fixtures: raise exception early when file doesn't exist (9f69731d)
  • formatters: column default should be one for source map (19a72563)
  • matchers: fix match with string behaving like equal (e0e6f751)
  • pages:
  • tests:
    • fix broken stack crop if no known path is found in stack (f0bd9592)
  • utils: fix broken diff when text contains object extension (7533e0a3)

Features

  • $browser: add the tests seed in the counters div (b80c61d3)
  • Cakefile: add templates generation as part of the cake tasks (f0bfc99c)
  • browser:
    • add a button in spec details to rerun only this test (3c8e9151)
    • implements an example filter using the filter parameter (1ed5a40a)
    • add support for url parameters in browser bootstrap (3150a433)
    • add type parsing in url parameters parser (2f8c9163)
    • add parameters parser first implementation (d4287ecf)
    • add a search box in the the list header (9f45e382)
    • prevent errors in tests declarations from running tests (9e8e8f42)
    • new mobile friendly UI for browser tests (42f0c7eb)
    • changes browser reporter for a widget based one (cc00840e)
  • cli: add format option to select the prorgess formatter (9b0f8947)
  • environment: add fixturePath helper function (5ab77931)
  • errors: add extensible error's stack parser (82ffa53e)
  • formatters:
    • add console progress style formatter (2da8cca3)
    • add example results formatter (bbd6a233)
    • add console results formatter (1d8ce45f)
    • add console resume formatter (42f6e8e0)
    • add console profile formatter (690418af)
    • add console duration formatter (429146b9)
    • add console seed formatter (18431721)
    • add errors stack and source file formatters (13d242fc)
  • matchers:
    • add haveClass matcher to test node classes (2cea1829)
    • add haveAttribute and haveAttribtues matchers (8b2d7c00)
    • add haveProperty and haveProperties matcher (e1bad8fb)
    • add support for string in match (1ba8c3e4)
    • allow value decoration in matchers (9e39fb56)
    • be matcher handle simple constructor type check (dcc42d00)
  • reporters: replace old results with formatter based ones (84e46df6)
  • runner: add a start event after examples registering (91859abe)
  • server: extract server response content into jade templates (415fb9c1)
  • utils:
    • wrap diffs in a span in browers (5360f6ea)
    • add colorize method in spectacular.utils (c73ab127)
  • widgets: add pluralizationof states in progress widget (4a3017d2)

1.4.0 (2013-08-25)

Bug Fixes

  • $support: fix broken test on Opera 12 (3911ecd8)
  • headless: fix some bugs occuring in phantomjs and slimerjs on travis (c3573df7)
  • node: fix broken tests due to invalid error line parsing (1337d5c9)
  • phantomjs:
    • remove String prototype decoration to avoid error on travis (ee643e1a)
    • fix missed tests before the console reporter registration (75747a3f)
    • fix broken stack trace line parsing on PhantomJS (297353c7)
  • server: vendor files should be served from spectacular directory (006f2012)
  • source-map: use a fixed version of source-map for PhantomJS (11dfe0df)
  • tests: fix broken tests on Internet Explorer 9 (558166e7)

Features

  • source-map: implements source map support for both node and browsers (2783b975, 77c5c7f5, #6)

1.3.1 (2013-07-23)

Bug Fixes

  • $cli: fix broken formatting of documentation format (04372a98, #4)
  • pages: add missing link to v1.2.1 documentation (ad666c01)

Features

  • $npm: add contributors section in package.json (79bb90a7, #5)
  • matchers: beWithin(delta).of(expected) matcher for floating point expectiations (8797e6f4)

1.3.0 (2013-07-23)

Bug Fixes

  • $browser: the options and paths are no longer passed though window (ec776202)
  • cli: fix typo on event listener registration (9f4f4dcb)

Features

  • $travis: add slimerjs tests on travis (af948b5b)
  • matchers: registered matchers now automacally stores their name (c4a3112b)

Breaking Changes

  • $browser: due to ec776202, the options and paths are now retrieved from the spectacular object, it's no longer effective to set it on window.

    To migrate the code simply replace :

      window.options = # ...

    With:

      spectacular.options = # ...

1.2.1 (2013-07-14)

Bug Fixes

  • documentation: update documentation with latest options and commands (4d281ea1)

1.2.0 (2013-07-14)

Bug Fixes

  • $core: retrieve nextTick or setImmediate from window if available (47e5c1e1)
  • browser: fix hidden errors when the parent group already had success (edfbc739)
  • examples: fix false positive with ExampleGroup::failed (f0f965bf)
  • phantomjs:
    • fix server port never passed to phantomjs script (0c653fe2)
  • promises: fix value changed after a second resolve call (f7a4c134)

Features

  • $bin:
    • add a --phantom-bin option to pass the path to phantomjs (9a745114)
    • use command like arguments for run mode (2769b92a)
  • $core:
    • add support for SlimerJS (eec62aa2)
    • add a deprecated method to offer proper deprecation messages (87c68336)
  • browser:
    • clicking on an error stack line will load the source (fe5991d9)
    • add documentation format for browser runner (d1aff64c)
  • examples: add support of # as instance member descriptor (ca9fdf69)
  • factories:
    • add factory build hooks (19046214)
    • add support for factory mixin (61ba355d)
    • add support for custom build in factories (e7daeb3c)
  • server: add logs and verbose outputs to the server (6633138b)

Breaking Changes

  • $bin: due to 2769b92a, running the spectacular bin without a command will only display the help message

    To run the test you must you the test command such :

    spectacular test

1.1.0 (2013-07-06)

Bug Fixes

  • $browser: fix invalid lookup in hasClass (4b71516f)
  • examples:
    • passing undefined to describe is now a valid subject (47a3d691)
    • examples groups without examples are now pending (2730c459)
  • server:
    • make sure that paths only contains unique entries (5855a220)
    • the paths was sliced one item too early (1d08c578)
    • fix undefined present in paths array (384358f6)

Features

  • $browser:
    • add verbose output through console.log (ecdc0c89)
    • automatically hide success on the first failure (f19fab78)
  • $cli: add --colors options that forces the coloring (79c9b334)
  • $core: unmet dependencies no longer raise an exception (3ac6d55f)
  • mixins: add proper mixins methods (d37e24c2)
  • runner:
    • add seeded random for tests (03f2aca1)
    • add random execution as default behavior (ddbe3bdb)

Breaking Changes

  • mixins: due to d37e24c2, the Globalizable mixin can no longer define and use an excluded static property, then it was renamed as unglobalizable.

1.0.2 (2013-06-26)

Bug Fixes

  • server: fix broken walkdir in server when directories don't exists (0e642d4a)

1.0.1 (2013-06-26)

Bug Fixes

  • $bin: server option didn't turn cli off (087dbf06)

1.0.0 (2013-06-23)

Bug Fixes

  • $tests:
    • tests broken on node v0.10.9 (cf3e1c61)
    • fix false positive on travis with failure only in node (23b32f0a)
  • cli: fix broken walkdir call if path doesn't exist (1d2d30e5)
  • matchers:
    • fix missing diff in equal message (5242a363)
    • fix invalid message for haveBeenCalled (e92d8355)
  • phantomjs: defining a property without a setter on an object failed (7025b979)

Features

  • $bin: add help and version options (36b80595)
  • factories: implements factory inheritance (19e19039)
  • matchers:
    • implements init hooks on matcher creation (80ee4a9d)
    • implements support for full rspec syntax (62460189)

Breaking Changes

  • matchers: due to 62460189, matchers no longer can be defined as an object, the use of the spectacular helper is mandatory.

    To migrate the code follow the example below:

      exports.myMatcher = (value) ->
        match: (actual) ->
          @description = '...'
          @message = '...'
          actual is value

    After:

      spectacular.matcher 'myMatcher', ->
        takes 'value'
        description -> '...'
        failureMessageForShould -> '...'
        match (actual) -> actual is @value

0.0.4 (2013-06-15)

Bug Fixes

  • $tests: fix broken travis tests due to server tests (0f79ccd5)

0.0.3 (2013-06-15)

Bug Fixes

  • $bin: fix bad reading of paths options (88d0962e)
  • $browser: run a previouly registered window.onload event (96515389)
  • $tests: force documentation format for expect tests (d94c9ed8)
  • environment: unglobalize environment after tests (975c4edc)

Features

  • $bin:
    • add support for config file (8ffb526c)
    • implements phantomjs support in the spectacular bin (a15d14c7)
  • $core: snakify matchers and matchers methods (944f9f66)
  • $tests: helpers are now created with spectacular.helper (a8b1f6c1)
  • Cakefile: add browser packaging task (acd9f1a6)
  • browser:
    • browser reporter provides default options if not provided (c266c1fa)
    • specs filters position is now relative to the reporter (946d7573)
  • docs: run the spectaculars specs in the documentation (b843a184)
  • matchers: provides rspec style matcher definition (bb413b7b)
  • mixins:
    • support original method in snake case in Globalizable (6bc5771a)
    • add set method on GlobalizableObject (b42a28c9)
  • server:
    • add support for source files (826abfc3)
    • server port can now be defined using PORT environment variable (60ddb050)

0.0.2 (2013-06-11)

Bug Fixes

  • environment: unglobalize environment after tests (975c4edc)

Features

  • $core: snakify matchers and matchers methods (944f9f66)
  • $tests: helpers are now created with spectacular.helper (a8b1f6c1)
  • matchers: provides rspec style matcher definition (bb413b7b)
  • mixins:
    • support original method in snake case in Globalizable (6bc5771a)
    • add set method on GlobalizableObject (b42a28c9)