- Fixed destubing stub overrides
- Fixed jQuery have_event_handlers to match "live" events
- Installables updated: MooTools to 1.2.4, Dojo to 1.4.0, jQuery to 1.4.0.
- Call rhino with "-opt -1" to avoid silent failure
- Fixed nodejs support due to recent Buffer changes
- Fixed; proper handling of undefind values for have_prop[erty]
- Added chromium to supported browsers
- Fixed rhino support by using java command
- Fixed MockXMLHttpRequest#getAllResponseHeaders() matches spec returning a string
- Fixed; strict type checks for have_prop[erty]
- Removed some globals
- Merge branch 'master' of git://github.com/vipulb/jspec into xml
- Added support for mock requests to parse xml
- Added have_event_handlers matcher
- Adding be_animated matcher
- Add option "disableColors" to disable coloring in terminal reporter
- Added jspec.nodejs.js - have_prototype matcher
- Added jspec.nodejs.js - have_keys matcher
- Added jspec.nodejs.js - have_configurable_property matcher
- Added jspec.nodejs.js - have_writable_property matcher
- Added jspec.nodejs.js
- Remove unused error() method
-
Added json_fixture(). Closes #157
-
Added swalke16 to contrib list (shared behavior fixes)
-
Added shared_behaviors_for() for shared behavior support. This is essentially a Suite instance, however the shared behavior itself is no longer executed, only suites which use should_behave_like().
-
Added before_nested / after_nested for legacy support. These hooks function just as before / after did < 4.0.0, where they will execute once per nested suite as well.
-
Changed; before / after are now executed ONLY once, not when a nested suite is running. Use before_nested / after_nested if you wish to re-gain this functionality.
-
Removed JSpec.error()
- Added nodejs template. use --node
- Fixed; output bug with shared behaviors
- Added have_any matcher
- Fixed; using readFileSync for node.js support
- Added support for Chrome on Linux [alex-bepple]
- Added node.js support in core, no longer has node-specific code in template
- Fixed linux Default browser support, use 'xdg-open' [alex-bepple]
- Fixed lastRequest global
- Removed Console reporter. Closes #142
- Fixed JRuby compatibility; Look up host in a JRuby-compatible way.
- Added support for running specs in WebKit nightlies.
- Fixed bug in dom.html templates that was incorrectly passing options to report() rather than run().
- Fixed node.js template which was missing fixturePath option. Closes #131
- Fixed some stray globals
- Changed dependency; commander 4.0.1 for JRuby support
- Fixed rails init issue with node.js. Closes #135
- Fixed bin specs
- Fixed include matcher substring matching regexp issue. Closes #132
- Added --node (works just like --rhino)
- Added Node.js support [#114]
- Fixed markdown < > chars in Readme.md
- Added JSpec.equal() replacing hash()
- Added Rhino's .jar to JSpec so that users do not need to install it
- Added specs for receive matcher negation with times [#150]
- Added fixturePath option to let JSpec know where your fixtures live
- Added
jspec stats
- Added lastRequest() / last_request() helper [#58]
- Added jspec.xhr.js in templates by default [#44]
- Added jspec subcommand hooks; checks for spec/commands/*_command.rb [#38]
- Added circular reference printing support now shown as { foo: "bar", self: <circular reference> }
- Added install sub-command with support for jquery, jqueryui, prototype, mootools, dojo, envjs, and rhino
- Added update support for --freeze / --symlink [#34]
- Changed; defaulting browsers using system calls [#104]
- Changed; using json_pure gem instead of json to prevent c extension requirements
- Changed argumentsToArray() -> toArray() [#62]
- Changed formatter to reporter [#6]
- Changed project templates to a newer cleaner format with markdown files, and better structure
- Changed; Rails is now detected when using
jspec init
--rails is no longer required - Changed; Major refactor of the
jspec
executable and all Ruby - Changed; Ruby server re-written using Sinatra
- Removed JSpec.hash()
- Removed JSpec.paramsFor()
- Removed profiling [#85]
- Removed module contexts [#72]
- Fixed --rhino from exiting using --bind [#111]
- Fixed sprite spacing when several failure messages are shown [#90]
- Fixed receive matcher negation issue with the number of times called [#150]
- Fixed #send_file override; no-cache [#93]
- Fixed most css issues in IE8 [#71]
- Fixed "Access is denied" error in IE
- Fixed END
- Fixed; inverted core specifications (mock_it()) for easier contribution
- Fixed dom template root replacement
- Added Tobias Svensson to contributor list
- Changed; DOM formatter displaying several failure messages when present [#89]
- Changed; displaying multiple error messages for Terminal formatter
- Updated mock timers to 1.0.2
- Fixed receive matcher negation issue with the number of times called [#150]
- Added cheat sheet install docs
- Added Google Group link
- Added sarah to contrib list
- Changed Terminal formatter's java.lang.System.exit() -> quit()
- Removed unnecessary flags from several regexps
- Fixed DOM paths when using --freeze [#88]
- Fixed END
- Fixed exit status with Terminal reporter [#77] [thanks darxriggs for reporting]
This is now fixed when using
jspec run --rhino
as well asjava -jar js.jar spec/spec.rhino.js
.
- Fixed puts() with jQuery instance without .selector should output outerHTML, not innerHTML
- Fixed some specs breaking when using Env.js
- Fixed Env.js support
- Fixed newline support in grammar (supports \r\n, \n, \r)
- Fixed tabs in grammar [#11]
- Fixed minor grammar issues for windows users [thanks Tony]
- Fixes installation issue when XCode is not present; changed dependency json -> json_pure [thanks esbie]
- Fixed Chrome#visit; latest builds of Chrome for the mac are now "Google Chrome"
- Added Tony to contributor list
- Removed JSpec.paramsFor()
- Removed module contexts [#72]
- Fixed some css styling issues in IE8 [#71]
- Fixed; DOM formatter supporting \r\n \r \n for EOL in the body source [Thanks Tony]
- Fixed "Access is denied" error in IE
- Fixed some css support for older browsers [Thanks Tony]
- Fixed dependencies (created by github's gem builder removal)
- Updated installation docs
- Removed namespaced dependencies (thanks alot github...)
- Updated to mock timers 1.0.1 fixes an issue where setTimeout(function(){}, 0); tick(100) is never called
- Fixed example path in rails template
- Fixed JSpec root when using --symlink, --freeze [#36]
- Added END to the grammar (works like Ruby's END)
- Added --symlink switch (links the current version of JSpec to ./spec/lib) [#4]
- Added --freeze switch (copies the current version of JSpec to ./spec/lib) [#4]
- Added
jspec shell
sub command (interactive Rhino shell through JSpec) - Added jspec.shell.js
- Added Async support via mock timers (lib/jspec.timers.js) [#19]
- IRC channel up and running! irc://irc.freenode.net#jspec
- Added module support for formatters
- Server output matching Rhino when using verbose or failuresOnly options
- Added mock_request() and unmock_request() as aliases for mockRequest() and unmockRequest()
- Added JSpec.JSON.encode()
- Added default Sinatra routes /slow/NUMBER and /status/NUMBER for simulating slow reponses and HTTP status codes.
- Added server support for loading spec/jspec.rb (or jspec/jspec.rb for rails) Allowing additional browser support to be plugged in, as well as Sinatra routes.
- Added dependency for Sinatra (new server)
- Added a new Ruby server
- Added support for --bind and --server on various platforms
- Added Google Chrome support
- Added Internet Explorer support
- Change; --server without --browsers defaults to all supported browsers
- Removed JSpec.reportToServer() Now utilizes JSpec.formatters.Server to handle this functionality.
- Fixed Server output escaping (removed html escaping from puts()) [#13]
- Fixed JSpec.load(); returns responseText when 2xx or 0 (for file://)
- Fixed error thrown when a module has no utilities
- Added JSpec.evalHook()
- Added JSpec.paramsFor()
- Refactored jspec.xhr.js
- Fixed mock xhr HEAD method
- Fixed node.js print() newline issue
- Fixed specs preventing spec/spec.node.js from running
- Added JSpec.tryLoading()
- Added JSpec.request used to reference the original XMLHttpRequest; used to fix [#149]
- Fixed Mock XHR issue messing up JSpec request related utilities such as fixture() [#149]
- Added Lawrence Pit as a contributor
- Fixed object hash equality [#146] { a : '1', b : '2' } is now the same as: { b : '2', a : '1' }
- Give readFile precendence over xhr so that fixtures work with mockRequest when using Rhino
- Give XMLHttpRequest precedence over microsoft crap
- Added Mock Ajax Support
- Added mockRequest(), unmockRequest() utilities
- Added jspec.xhr.js
- Fixed be_visible, and be_hidden. Now implement the jQuery <= 1.3.1 method
- Fixed "end" in spec bodies when using the grammar
- Fixed "it" in spec bodies when using the grammar [#142]
- Changed; HTML entities in descriptions are now escaped for DOM formatter [#141]
- Added [email protected] as a contributor (thanks for the bug reports)
- Changed; hash() now accepts null
- Fixed should_receive issue with validating boolean args or return values
- Fixed --server-only switch
- Fixed jQuery dependency error message when jQuery is not available when using jspec.jquery.js
- Added fixture() utility function
- Templates initialize with example paths to lib
- Added Ruby on Rails support
- Added exporting of JSpec (node.js etc)
- Added be_undefined matcher [#134]
- Added intermediate node.js support
- Fixed; grammar now allows foo.bar.baz.stub() etc to convert to stub(foo.bar.baz)
- Added contrib in README (thanks to anyone who has helped)
- Added more shared behavior specs
- Added Module.DSLs support for extending / adding new DSLs (DSL exchange not yet fully implemented)
- Added spec to make sure methods like end() will not fail due to the grammar
- Changed; giving hook precedence to suite hooks (before_each, etc) over module hooks (beforeSuite, etc) ; (thanks mpd)
- Changed; calls to stub() without and_return() now simply stub an arbitrary method with no return value
- Changed JSpec.include(); now returns JSpec allowing chaining
- Fixed having "end" in descriptions which would be replaced with '});'
- Fixed negation of should.receive('foo') matcher
- Fixed shared behavior assertion count issue
- Fixed matcher semicolon matcher issue when using the JSpec grammar
- Added pass() util; Spec#pass() and Spec#fail() (thanks gisikw)
- Removing Object.prototype.stubby() after specs are finished to prevent pollution
- Fixed trailing comma (thanks Kevin)
- Moved beforeSpec and afterSpec hook into proper positions allowing for additional assertions within afterSpec.
- Added hook() and hookImmutable()
- Added support for matcher lists ('be enabled disabled selected') == be_enabled, be_disabled etc
- Added JSpec.include()
- Added several hooks
- Added Module support
- Added grammar conversion of Foo.stub('method') to stub(Foo, 'method')
- Added grammar conversion of Foo.destub() to destub(Foo)
- Require bind gem
- Fixed
jspec
bin docs
- Fixed; all stubs generated with stub() are restored to their original methods after each 'it' block. See README for details.
- Added stub()
- Added destub()
- Changed; Server responses utilize Rack::Mime now for arbitrary requests
-
Changed; reportToServer() now accepts url arg
-
Fixed be_empty matcher; now considers {} empty, however { foo : bar } is not
-
Fixed throw_error error messages for Opera
-
Fixed throw_error in Rhino (Opera is broken now)
-
Fixed stray console.log() call
-
Fixed some tab issues. When using the JSpec grammar option you should use the 'soft tabs' feature of your IDE or text editor. A patch for tabs is pending and should be available soon, however be aware that a 'parse error' may occur otherwise.
- Added link to JSpec in JSMag June 2009
- Added Github gem source location to docs
- Changed throw_error matcher; now accepts two arguments
- Changed --server; serves from current working directory. This allows files in ../lib/ * to be served rather than ./spec/ * only.
- Refactored argumentsToArray()
- Changed
jspec init
to utilize a single template which allows for all three suite running capabilities within a single template. Now after initializing a project you mayjspec run --server
,jspec run --rhino
etc at any time without modifications.
- Table should span full width (Very week release I know, but improperly styled things bug me :) )
- Added rails integration link http://github.com/bhauman/jspec-rails
- Changed; puts() now displays constructor name when available
- Fixed Terminal output which was not displaying due to a recent commit
- fixed IE bug : DOM elements don't have valueOf() method
- Added better failure messages for throw_error matcher
- Renamed print() to puts() [#108]
-
Added DOM loading indicator [#105]
-
Added wait() helper for additional async support
-
Added shared behavior support using should_behave_like('Another Suite')
-
Added CSS body toggling [#1]
-
Added receive matcher for Proxy Assertins
-
Added grammar-less support
-
Added an_instance_of() helper
-
Removed .this literal
-
Removed deprecated be_a_TYPE_input matchers
-
Added ProxyAssertion
-
Added select() util
-
Added does() util for report-less assertions
-
Added find() util
-
Added JSpec.contentsOf()
-
Added matchers to body evaluation [#90]
- Removed trailing commas causing issues with IE (what a suprise ;) )
- Fixed typo in requires()
- Added expect()
- Strengthened specs for cascading hooks
- Fixed cascading hooks
- Added rhino and server template files
- Added JSpec.hasXhr()
- Added JSpec.xhr()
- Added Ruby javascript testing server
- Added support for options passed to run()
- Added failuresOnly for Terminal formatter
- Added terminal assertion graphs
- Addec color() utility
- Added main.puts() since we use print() as a utility
- Added rhino support
- Added fail() utility function
- Added JSpec.Assertion
- Added normalizeMatcherMessage()
- Added normalizeMatcherBody()
- Added have_classes [#19]
- Added extend() utility
- Added be_an_instance_of matcher
- Added constructor checking support for throw_error matcher [#72]
- Added file support for exception messages, making them much easier to debug
- Added catching of exceptions throw within specs [#46]
- Changed; executable aborts when template does not exist
- Changed; matchers now normalized upon creation, accepts function, hash, or string.
- Changed be() matcher to be strict [#57]
- Changed error() to conditionally show line number when available
- Renamed Jspec.addSuite to JSpec.describe and Suite#addSpec to Suite#it
- Refactored be_a_TYPE_input matchers so that the deprication warning is logged only when calling the method
- Fixed JSpec.requires() now works with latest version of JSpec.error()
- Fixed error() now displays exceptions throw that do not respond to .message
- Fixed commenting bug [#37]
- Removed JSpec.main, now just using local main
- Removed /test used for the executable, causing gem to fail building
- Added
jspec update
sub-command [#63]
- Added gemspec
- jspec executable fully functional
- Added
jspec bind
- Added
jspec run
- Added
jspec init
- Added
jspec
executable - Added gemspec and manifest
- Added command-line usage docs
- Added custom matchers documentation
- Removed double negation
- Added have_prop matcher, have_property is now strict [#56]
- Added be_selected, be_checked matchers
- Added string support to each() each('some foo bar', ...)
- Added have_ATTR matchers [#51]
- Deprected be_a_TYPE_input matchers [#50]
- Added have_property matcher [#53]
- Added option() which gives the query string option precedence [#39]
- Changed; Using JSpec.options.formatter not JSpec.formatter [#44]
- Fixed Console formatter, now displays nested suites
- Check out http://visionmedia.github.com/jspec for additional documentation!
- Added nesting support
- Added printing of nested specs
- Added assertion graphs to DOM formatter
- Refactored preprocess()
- Refactored most of the specs
- Renamed preProcess() to preprocess()
- Removed running of a single suite via ?suite= for now
- Added support for printing of function bodies and regexps [#27]
- Added support for strings / regexp with should_throw_error [#26]
- Added have_within matcher
- Added have_at_most matcher
- Added have_at_least matcher
- Added have matcher [#24]
- Added be_a_TYPE_input matchers (be_a_checkbox_input, be_a_text_input, etc)
- Added be_disabled matcher [#21]
- Added be_enabled matcher [#20]
- Refactored be_visible and be_hidden with $(elem).is()
- Added support for multi-arg failure messages [#2]
- Better printing of jQuery objects [#15]
- Added support for dotted negation of assertions (foo.should.not.equal bar)
- Added support for dot-style assertions [#17] (foo.should_not.equal bar)
- Added spec for strip()
- Added strip()
- Added any() util
- Added new improved include matcher
- Added have_many and have_one matchers
- Added have_attr matcher [#14]
- Added map() util
- Added inject() util
- Added escape() util
- Added recursive array and object printing
- Added DOM formatter option failuresOnly
- Added support for running of a single squite via ?suite=...
- Added query() util
- Added last() util
- Added be_within matcher, accepts a range literal
- Added inclusive range literal n..n
- Added row hover
- Refactored range()
- Refactored setMessage()
- Refactored hash()
- Changed; preprocessor passing array of args (multi-arg matcher support)
- Changed jQuery to $ for internal usage
- Added a new style for the DOM formatter (not finished yet)
- Added Console formatter (anything implementing the console object. Firebug, Safari 4, etc)
- Added JSpec.options.profile for optional profiling of specs
- Added this. literal alternative (view readme)
- Moved formatters into JSpec.formatters
- Added error() util
- Added savings raketask
- Fixed parse error bug in Safari 4
- Added minification for jspec.jquery.js when packaging before release
- Added compression of css when packaging before release
- Changed; using $ in jspec.jquery.js for JSpec, take that jQuery ;)
- Added addMatchers, print, hash, and each as 'utility functions' this allows JSpec to do each(...) internally instead of JSpec.each(...), while still preventing pollution of the global scope.
- Added closrue literal -{ (view README)
- Added option to DOM formatter, now allows you to specify which element id to output to
- Added JSpec.hash
- Added be_null matcher
- Allow recursive composite matching using should_eql and should_not_eql For example [1, 2, [3]].should_eql([1, 2, [3]]) is true, works with object 'hashes' as well.
- Damn auto-release messed up
- Added async support for jQuery
- Added JSpec.requires for dependencies
- Added JSpec.throw
- Added JSpec.runSpec
- Refactored jspec.jquery.js
- Fixed evalBody exceptions, previously was not showing exception message
- Fixed bug of JSpec interpreting // in a string such as http:// to be a comment.
- Added elements() alias of element()
- Added support for string passed to runSuite; runSuite('Matchers') is the same as runSuite(JSpec.suites['Matchers']).
- Fixed some documentation
- Added comment literal (//)
- Added pre-processor for convering matchers. For example 'test'.should_be_true becomes JSpec.match('test', 'should_be', 'true'), preventing pollution of core prototypes.
- Added TM bundle (go checkout my jspec.tmbundle repo on github)
- Renamed have_length_of to have_length
- Added jquery js to package
- Added JSpec.match
- Added options to report() which are passed to formatter
- Added sandbox helpers (reg / jquery)
- Added have_child and have_children
- Added have_tag and have_tags
- Changed exec to only load / eval file
- Fixed parser token issue, was previously matching things like end() as literal end
- Changed test dir to spec
- Changed test.js to core.spec.js
- Added contexts
- Added release rake task
- Added package with minified alternative
- Added new sexy syntax (warning: you will have to re-write your specs)
- Added pre-processor for optional matcher parens
- Added several new matchers
- Added matcher aliasing
- Added simple matcher declarations
- Added END
- Added yet-to-be-implemented specs
- Added loading of suites via JSpec.load
- Added ability to pass only a description to it(), meaning not yet implemented
- Added should_fail
- Added should_match
- Added should_not_match
- Added should_be and should_not_be
- Fixed typo in documentation for pointing to the master repo
- Initial release