Latest Version 0.3.0 - September 21 2011
,a8888a, ad888888b, ,a8888a, 88888888ba 88888888888 888888888888 db ,8P"' `"Y8, d8" "88 ,8P"' `"Y8, 88 "8b 88 88 d88b ,8P Y8, a8P ,8P Y8, 88 ,8P 88 88 d8'`8b 88 88 aad8" 88 88 88aaaaaa8P' 88aaaaa 88 d8' `8b 88 88 ""Y8, 88 88 88""""""8b, 88""""" 88 d8YaaaaY8b `8b d8' "8b `8b d8' 88 `8b 88 88 d8""""""""8b `8ba, ,ad8' 888 Y8, a88 888 `8ba, ,ad8' 88 a8P 88 88 d8' `8b "Y8888P" 888 "Y888888P' 888 "Y8888P" 88888888P" 88888888888 88 d8' `8b
Version 0.2.3 - September 13 2011
Changes include: * Version information available as a command line switch (-v or --version) * Corrected bug found in command processing * Created startHeader function to provide intiial output for the various modes of kitkat (test, spec, autospec and continuous testing), this includes the mode, src/spec file locations, and switches config overrides if any.
Version 0.2.2 - September 12 2011
Changes iunclude: * Configuration file re-introduced to allow options on kitkat operations and paths used. See README.md for more information on available options.
Version 0.2.1 - September 9 2011
Bugs Removed: * debug statement in code removed * colour on 100% tests passed was not green * testing flag (kitkat -t) did not compile code before tests.
Version 0.2.0 - September 9 2011
Changes include: * Refactor over entire project, removed other engines and now using a modified and included expresso engine for all testing. * Coloured-log added for a prettier output * scaffolding of folders and files cleaned up, we now create a default app.coffee file if you do not have any src files present. * testing results with request can still be misleading ( result of async testing with expresso ), however now we correctly identify the result is from a callback versus labelling it as the wrong test result. * source folder renamed to src * mocks folder and dependencies folder removed (convention over configuration)
,a8888a, ad888888b, ,a8888a, 88888888ba 88888888888 888888888888 db ,8P"' `"Y8, d8" "88 ,8P"' `"Y8, 88 "8b 88 88 d88b ,8P Y8, a8P ,8P Y8, 88 ,8P 88 88 d8'`8b 88 88 ,d8P" 88 88 88aaaaaa8P' 88aaaaa 88 d8' `8b 88 88 a8P" 88 88 88""""""8b, 88""""" 88 d8YaaaaY8b `8b d8' a8P' `8b d8' 88 `8b 88 88 d8""""""""8b `8ba, ,ad8' 888 d8" 888 `8ba, ,ad8' 88 a8P 88 88 d8' `8b "Y8888P" 888 88888888888 888 "Y8888P" 88888888P" 88888888888 88 d8' `8b
Version 0.1.3 - September 6 2011
Changes Include: * Moved copy of expresso with corrections for request failures into the bin folder and updated kitkat to use this instead of installing the expresso dependency. * The above change means there is no longer any dependency on expresso in the package.json, this removes the installation of js-coverage which is pretty messy and non-functional for most scenarios we use. * Refactor of code around watches
Version 0.1.2 - August 12 2011
Bugs Removed: * Hyphen in code file when generating spec files now replaces the hypen with an underscore for the variable name i.e. connect_esi = require ('connect-esi') * Watches for .coffee files in the spec dir which are not named .spec.coffee have been removed, this allows things like fixtures directory with coffee files for testing against to run and our code will not try to generate and test them as spec or code files.
Version 0.1.1 - August 9 2011
Bugs Removed: * Expresso is fast...too fast, changed the watchCoffeeFile function to execute the coffee script compiling via exec command instead of directly and then call the tests in the callback of exec()
Version 0.1.0 - August 8 2011
Changes include: * Modified command line argument processing, now accepts new parameters for the following: * uglify - will cause the code being tested to be compiled into a single js file and then minified using the uglify-js library, this is ideal for client side applications * engine - ability to now specify one of three engines to be used by kitkat, these include expresso (default), jasmine-node and the envJasmine + rhino for testing.
Version 0.0.7 - August 3 2011
Changes include: * Created commonjs.js file to mock up basic require functionality so that tests will not fail simply for the missing require keyword in Rhino. * Specified the path used in spec files to use EnvJasmine.projectPath rather than the fully coded path when spec file is originally created (allows project to move without breaking the spec files.)
Version 0.0.6 - July 26 2011
Changes include: * Modified configuration file and code to use new variable prodTargetCreate defaulted to false, this variable will control whether we create the combined coffee script file, and resulting .app.js and .min.js which is mostly useful for client applications. Our default is server applications so we will typically just want the code files compiled from .coffee to .js individually. * Modified the default deployment folder to lib/ of the current project, again still modifiable in the configuration file if needed. * Added an Example section o the README.md file illustrating the procedure to use kitkat with a new application
Bugs Removed: * Bad path to the lib folder for growl-notify icons, corrected to use path variable pointed at lib folder * Removed extra call to util.log which was outputting created js files on screen
Version 0.0.5 - July 26 2011
Changes include: * Modified the combine method to use .app.js for the combined compiled coffee-script file. * Corrected a typo: dependency instead of dependancy (sigh) * Removed node_modules from walk function by way of a conditional check
Bugs Removed: * Code did not exclude certain directories, such as node_modules which could contain other .coffee files and should not be included. It may be that in the future we will include a .kitkatignore file to list exclusions in addition to this.
Version 0.0.4 - July 25 2011
Changes include: * Autospec and spec functionality completed * Stalker library included to monitor directories containing code and spec files * Paths corrected for placement of the libraries and determing location to support gloabl install to /usr/local path * NPM package published and tested * Modification of the EnvJasmine package to support a project path command argument, this is required to allow access to files outside of EnvJasmine's location which is in the lib folder beneath this project and could be inside /usr/local instead of your project.
Bug Removed: * Missing callback in the create specs task of the test function. * Path to dependancy file in project instead of library location. * Far too many again, this is still beta.
Version 0.0.3 - July 20 2011
Changes include: * Dynamic, recursive file gathering to determine the files needed for tests * Async functionality to ensure file gathering completes before testing * Introduction of optional configuration file stored in your project/dependancy folder called kitkat_config.js * implementation of the command parser and usage functionality * growl notifications enabled
Bugs removed: * too many to iterate at this time, code still in beta
Version 0.0.2 - July 15 2011
Third party libraries added including: * optimist - provides a very light weight command line argument processor * async - some advanced flow control for node.js applications * envjasmine - headless jasmine based testing environment * growl - notification system (requires growlnotify extra in order to work) * stalker - recursive directory monitoring for file changes * uglify-js - produce a single minified app.js file
Additional changes include: * Configuration of the lib/env_jasmine/include/dependancies.js file setting the default src and test directory. * Creation of the package.json file * Addition of the MIT license * Update version from 0.0.1 to 0.0.2
Version 0.0.1 - July 15 2011
initial project hierarchy setup, named kitkat for kontinuous integrated testing koffee application template (yes the correct spelling is c's instead of k's...but have a break, have a kitkat)
Initial goals of this project is to create a build tool that will initialize automated testing components for a coffee-script based application, it was originally going to be a piece built into another project but soon grew into a separate project on it's own.
The list of features I would like to include (though not limited) are as follows: * Automate monitoring and build of coffee-script files * Automate execution of compiled specs * Notify when test specs pass/fail with instant feedback * Provide a code coverage report * hook into git commit to require successful pass of code prior to commits * pass/fail history to database support if required (Will not be mandatory) * Benchmarking - considering how and if this should be a piece within kitkat itself
Stalker library calls back on modified files it has logged when new files are added, net result is I've had to remove watches before they are added, while this is not clean, it is functional, further review of the stalker library and possible bug report to follow.
Many more i'm sure, please report bugs as they are found and code enhancements as they become obvious.