✓8.0
✓9.0
✓10.0
✓20.0
✓21.0
✓22.0
✓23.0
✓24.0
✓25.0
✓14.0
✓15.0
✓16.0
✓17.0
✓18.0
✓19.0

6.0
npm http GET https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/is-extended
npm http 200 https://registry.npmjs.org/function-extended
npm http 200 https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http GET https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/object-extended
npm http 200 https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http GET https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http 200 https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/array-extended/0.0.4
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/array-extended/0.0.4
npm http 200 https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http GET https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib
npm http 200 https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http GET https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser
npm http 200 https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http GET https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 304 https://registry.npmjs.org/browserify
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http 200 https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http GET https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/nomnom/1.5.2
npm http 200 https://registry.npmjs.org/colors
npm http 200 https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http GET https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 200 https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 200 https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/which
npm http 200 https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http GET https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http GET https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http 200 https://registry.npmjs.org/lodash
npm http 200 https://registry.npmjs.org/js-yaml
npm http 200 https://registry.npmjs.org/shell-quote
npm http 200 https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http GET https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http GET https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http GET https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/through
npm http 200 https://registry.npmjs.org/module-deps
npm http 200 https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http 200 https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http 200 https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http GET https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http 200 https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http GET https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 200 https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 200 https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http 200 https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 200 https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http 200 https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http GET https://registry.npmjs.org/jshint
npm http 200 https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http 200 https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http 200 https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http 304 https://registry.npmjs.org/jshint
npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http GET https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 200 https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http GET https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http GET https://registry.npmjs.org/through
npm http 304 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 200 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http GET https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 304 https://registry.npmjs.org/optimist
npm http 304 https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http 200 https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http GET https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http 304 https://registry.npmjs.org/through
npm http 200 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 200 https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http GET https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http GET https://registry.npmjs.org/argparse
npm http GET https://registry.npmjs.org/esprima
npm http 304 https://registry.npmjs.org/browser-pack
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/sigmund
npm http 200 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http GET https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 200 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http 304 https://registry.npmjs.org/through
npm http 304 https://registry.npmjs.org/lodash
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http GET https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 304 https://registry.npmjs.org/duplexer
npm http 304 https://registry.npmjs.org/shell-quote
npm http 304 https://registry.npmjs.org/insert-module-globals
npm http 304 https://registry.npmjs.org/syntax-error
npm http 304 https://registry.npmjs.org/concat-stream
npm http 304 https://registry.npmjs.org/browser-resolve
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/optimist
npm http 304 https://registry.npmjs.org/JSONStream
npm http 304 https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/argparse
npm http 200 https://registry.npmjs.org/uglify-js/1.3.4
npm http 200 https://registry.npmjs.org/rfile
npm http 200 https://registry.npmjs.org/ruglify
npm http 304 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http GET https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http GET https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http GET https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http GET https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/combine-source-map
npm http 200 https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/resolve
npm http 200 https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http 200 https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/0.0.1
npm http 200 https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http GET https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 304 https://registry.npmjs.org/esprima
npm http 200 https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http GET https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 200 https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 304 https://registry.npmjs.org/uglify-js
npm http 200 https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 200 https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 200 https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http 200 https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http 200 https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 200 https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http 200 https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 200 https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore.string
npm http 304 https://registry.npmjs.org/wordwrap
npm http 304 https://registry.npmjs.org/commondir
npm http 304 https://registry.npmjs.org/combine-source-map
npm http 304 https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/esprima/1.0.2
npm http GET https://registry.npmjs.org/escodegen/0.0.15
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/underscore.string
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http GET https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings
npm http GET https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/inline-source-map
npm http 200 https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm WARN prefer global jison@0.4.4 should be installed with -g
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings
npm http 200 https://registry.npmjs.org/esprima/1.0.2
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http 200 https://registry.npmjs.org/astw
npm http 200 https://registry.npmjs.org/inline-source-map
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http GET https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http GET https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http 200 https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/console-browserify
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http 200 https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 200 https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http 304 https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http 200 https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http 200 https://registry.npmjs.org/shelljs
npm http 304 https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/console-browserify
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http 200 https://registry.npmjs.org/cli
npm http 200 https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http GET https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 304 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 200 https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/base64-js/0.0.2
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/base64-js/0.0.2
npm http GET https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http GET https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/concat-stream/0.0.8
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http 304 https://registry.npmjs.org/glob
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http GET https://registry.npmjs.org/peakle
npm http GET https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http 304 https://registry.npmjs.org/shelljs
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/cli
npm http 304 https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/peakle
npm http 304 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http 304 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http GET https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http 200 https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/inherits
function-extended@0.0.4 node_modules/function-extended
is-extended@0.0.8 node_modules/is-extended
ht@0.0.2 node_modules/ht
string-extended@0.0.5 node_modules/string-extended
leafy@0.0.2 node_modules/leafy
declare.js@0.0.4 node_modules/declare.js
grunt-it@0.3.1 node_modules/grunt-it
commander@1.1.1 node_modules/commander
└── keypress@0.1.0
object-extended@0.0.5 node_modules/object-extended
└── array-extended@0.0.4
extended@0.0.4 node_modules/extended
└── extender@0.0.7
it@0.2.6 node_modules/it
└── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1, minimatch@0.2.12)
grunt-contrib-uglify@0.2.1 node_modules/grunt-contrib-uglify
├── grunt-lib-contrib@0.6.1 (zlib-browserify@0.0.1)
└── uglify-js@2.3.6 (async@0.2.8, optimist@0.3.7, source-map@0.1.22)
jison@0.4.4 node_modules/jison
├── lex-parser@0.1.0
├── ebnf-parser@0.1.1
├── jison-lex@0.2.0
├── esprima@1.0.3
├── JSONSelect@0.4.0
├── nomnom@1.5.2 (colors@0.5.1, underscore@1.1.7)
└── escodegen@0.0.21 (estraverse@0.0.4, source-map@0.1.22)
grunt@0.4.1 node_modules/grunt
├── dateformat@1.0.2-1.2.3
├── colors@0.6.0-1
├── hooker@0.2.3
├── async@0.1.22
├── eventemitter2@0.4.11
├── which@1.0.5
├── underscore.string@2.2.0rc
├── coffee-script@1.3.3
├── iconv-lite@0.2.9
├── lodash@0.9.2
├── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1)
├── nopt@1.0.10 (abbrev@1.0.4)
├── rimraf@2.0.3 (graceful-fs@1.1.14)
├── minimatch@0.2.12 (sigmund@1.0.0, lru-cache@2.3.0)
├── js-yaml@2.0.5 (esprima@1.0.3, argparse@0.1.15)
└── findup-sync@0.1.2 (lodash@1.0.1)
grunt-contrib-jshint@0.5.4 node_modules/grunt-contrib-jshint
└── jshint@2.0.1 (console-browserify@0.1.6, underscore@1.4.4, shelljs@0.1.4, minimatch@0.2.12, cli@0.4.4-2)
grunt-browserify@1.0.2 node_modules/grunt-browserify
├── browserify-shim@2.0.3 (through@2.2.7)
└── browserify@2.12.5 (inherits@1.0.0, concat-stream@0.1.1, shell-quote@0.0.1, duplexer@0.0.4, through@2.2.7, JSONStream@0.4.4, optimist@0.3.7, umd@1.1.1, insert-module-globals@0.2.1, browser-resolve@0.1.1, browser-pack@0.8.1, module-deps@0.6.2, syntax-error@0.0.1)
browserify@2.14.2 node_modules/browserify
├── inherits@1.0.0
├── concat-stream@0.1.1
├── shell-quote@0.0.1
├── duplexer@0.0.4
├── through@2.2.7
├── optimist@0.3.7 (wordwrap@0.0.2)
├── JSONStream@0.4.4 (jsonparse@0.0.5)
├── umd@1.1.1 (through@2.3.4, ruglify@1.0.0, rfile@1.0.0, uglify-js@2.2.5)
├── insert-module-globals@0.2.1 (process@0.5.1, commondir@0.0.1, lexical-scope@0.0.11)
├── browser-resolve@0.1.1 (console-browserify@0.1.6, zlib-browserify@0.0.1, vm-browserify@0.0.1, crypto-browserify@0.2.1, resolve@0.3.1, buffer-browserify@0.0.5, http-browserify@0.1.11)
├── browser-pack@0.8.1 (uglify-js@1.3.4, combine-source-map@0.1.2)
├── module-deps@0.8.0 (through@2.3.4, resolve@0.3.1, detective@2.1.2)
└── syntax-error@0.0.1 (esprima@0.9.9)
array-extended@0.0.5 node_modules/array-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
promise-extended@0.0.6 node_modules/promise-extended
└── grunt-contrib-jshint@0.3.0 (jshint@1.1.0)
date-extended@0.0.4 node_modules/date-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
timeout waiting to hear back from safari/6.0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
✓8.0
✓9.0
✓10.0
✓20.0
✓21.0
✓22.0
✓23.0
✓24.0
✓25.0
✓14.0
✓15.0
✓16.0
✓17.0
✓18.0
✓19.0

6.0
npm http GET https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/browserify
npm http 200 https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/declare.js
npm http 200 https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify
npm http 200 https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http GET https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint
npm http 200 https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/array-extended/0.0.4
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/array-extended/0.0.4
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/esprima
npm http 200 https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/jshint
npm http 200 https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http GET https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 200 https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser
npm http 200 https://registry.npmjs.org/lex-parser
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http GET https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 200 https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 200 https://registry.npmjs.org/uglify-js
npm http 200 https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http 200 https://registry.npmjs.org/glob
npm http 200 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http 200 https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http GET https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/hooker
npm http 200 https://registry.npmjs.org/eventemitter2
npm http 200 https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http GET https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http GET https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/nopt
npm http 200 https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/underscore.string
npm http 200 https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http GET https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 304 https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/lodash
npm http 200 https://registry.npmjs.org/module-deps
npm http 200 https://registry.npmjs.org/browser-pack
npm http 200 https://registry.npmjs.org/through
npm http 200 https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http GET https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http GET https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http GET https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http GET https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http 200 https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/concat-stream
npm http 200 https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http GET https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http 200 https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http GET https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http 200 https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 200 https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 200 https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 200 https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 200 https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http GET https://registry.npmjs.org/jshint
npm http 200 https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http 200 https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http 200 https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http 200 https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 304 https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 304 https://registry.npmjs.org/colors
npm http 200 https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http GET https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 200 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 200 https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 200 https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 304 https://registry.npmjs.org/optimist
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http 200 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http 304 https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http 200 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http 200 https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/lodash
npm http 200 https://registry.npmjs.org/lru-cache
npm http 200 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/argparse
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/umd
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http GET https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http 304 https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/esprima
npm http 200 https://registry.npmjs.org/ruglify
npm http 200 https://registry.npmjs.org/combine-source-map
npm http 200 https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http GET https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http GET https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http GET https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http GET https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 200 https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/resolve
npm http 200 https://registry.npmjs.org/resolve/0.3.1
npm http 200 https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http GET https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http 200 https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/uglify-js/1.3.4
npm http 200 https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http GET https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 304 https://registry.npmjs.org/through
npm http 304 https://registry.npmjs.org/through
npm http 304 https://registry.npmjs.org/lodash
npm http 304 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http GET https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 200 https://registry.npmjs.org/abbrev
npm http 200 https://registry.npmjs.org/buffer-browserify/0.0.5
npm http 200 https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http GET https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http GET https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/browser-pack
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/esprima
npm http 200 https://registry.npmjs.org/argparse
npm http GET https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 304 https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 304 https://registry.npmjs.org/shell-quote
npm http 304 https://registry.npmjs.org/insert-module-globals
npm http 304 https://registry.npmjs.org/duplexer
npm http 304 https://registry.npmjs.org/concat-stream
npm http 304 https://registry.npmjs.org/syntax-error
npm http 304 https://registry.npmjs.org/browser-resolve
npm http 304 https://registry.npmjs.org/JSONStream
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/umd
npm http 304 https://registry.npmjs.org/optimist
npm http 200 https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 200 https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http 200 https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http 200 https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 200 https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http 200 https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http 200 https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/console-browserify
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 200 https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/cli
npm http 200 https://registry.npmjs.org/console-browserify
npm http 200 https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/esprima/1.0.2
npm http GET https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http GET https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http 304 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/astw
npm http 200 https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http 200 https://registry.npmjs.org/callsite
npm http 200 https://registry.npmjs.org/astw
npm http 200 https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 200 https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http GET https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http GET https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 200 https://registry.npmjs.org/esprima/1.0.2
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http 304 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings
npm http GET https://registry.npmjs.org/inline-source-map
npm http GET https://registry.npmjs.org/convert-source-map
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http 200 https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http 200 https://registry.npmjs.org/convert-source-map
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings
npm http 200 https://registry.npmjs.org/inline-source-map
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http GET https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http GET https://registry.npmjs.org/base64-js/0.0.2
npm WARN prefer global jison@0.4.4 should be installed with -g
npm http GET https://registry.npmjs.org/peakle
npm http GET https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/detective
npm http 304 https://registry.npmjs.org/rfile
npm http 304 https://registry.npmjs.org/ruglify
npm http 304 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/wordwrap
npm http 304 https://registry.npmjs.org/lexical-scope
npm http 304 https://registry.npmjs.org/resolve/0.3.1
npm http 304 https://registry.npmjs.org/commondir
npm http 304 https://registry.npmjs.org/uglify-js/1.3.4
npm http 304 https://registry.npmjs.org/combine-source-map
npm http 304 https://registry.npmjs.org/console-browserify/0.1.6
npm http 304 https://registry.npmjs.org/jsonparse/0.0.5
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/underscore.string
npm http 304 https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http 304 https://registry.npmjs.org/through
npm http 304 https://registry.npmjs.org/vm-browserify/0.0.1
npm http 304 https://registry.npmjs.org/crypto-browserify/0.2.1
npm http 304 https://registry.npmjs.org/buffer-browserify/0.0.5
npm http 304 https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/glob
npm http 200 https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http 200 https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http 304 https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/peakle
npm http 304 https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/base64-js/0.0.2
npm http GET https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http GET https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http 304 https://registry.npmjs.org/shelljs
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http 200 https://registry.npmjs.org/concat-stream/0.0.8
npm http 304 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http 200 https://github.com/ariya/esprima/tarball/master
npm http 304 https://registry.npmjs.org/sigmund
npm http 200 https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http 200 https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http GET https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/resolve
npm http 200 https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http GET https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/callsite
npm http 304 https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/concat-stream/0.0.8
npm http 304 https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/graceful-fs
function-extended@0.0.4 node_modules/function-extended
is-extended@0.0.8 node_modules/is-extended
ht@0.0.2 node_modules/ht
string-extended@0.0.5 node_modules/string-extended
declare.js@0.0.4 node_modules/declare.js
leafy@0.0.2 node_modules/leafy
grunt-it@0.3.1 node_modules/grunt-it
commander@1.1.1 node_modules/commander
└── keypress@0.1.0
object-extended@0.0.5 node_modules/object-extended
└── array-extended@0.0.4
extended@0.0.4 node_modules/extended
└── extender@0.0.7
it@0.2.6 node_modules/it
└── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1, minimatch@0.2.12)
grunt-contrib-uglify@0.2.1 node_modules/grunt-contrib-uglify
├── grunt-lib-contrib@0.6.1 (zlib-browserify@0.0.1)
└── uglify-js@2.3.6 (async@0.2.8, optimist@0.3.7, source-map@0.1.22)
jison@0.4.4 node_modules/jison
├── lex-parser@0.1.0
├── ebnf-parser@0.1.1
├── jison-lex@0.2.0
├── JSONSelect@0.4.0
├── esprima@1.0.3
├── nomnom@1.5.2 (colors@0.5.1, underscore@1.1.7)
└── escodegen@0.0.21 (estraverse@0.0.4, source-map@0.1.22)
grunt@0.4.1 node_modules/grunt
├── dateformat@1.0.2-1.2.3
├── colors@0.6.0-1
├── hooker@0.2.3
├── async@0.1.22
├── which@1.0.5
├── eventemitter2@0.4.11
├── underscore.string@2.2.0rc
├── coffee-script@1.3.3
├── iconv-lite@0.2.9
├── lodash@0.9.2
├── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1)
├── minimatch@0.2.12 (sigmund@1.0.0, lru-cache@2.3.0)
├── rimraf@2.0.3 (graceful-fs@1.1.14)
├── nopt@1.0.10 (abbrev@1.0.4)
├── js-yaml@2.0.5 (esprima@1.0.3, argparse@0.1.15)
└── findup-sync@0.1.2 (lodash@1.0.1)
grunt-contrib-jshint@0.5.4 node_modules/grunt-contrib-jshint
└── jshint@2.0.1 (console-browserify@0.1.6, underscore@1.4.4, shelljs@0.1.4, minimatch@0.2.12, cli@0.4.4-2)
browserify@2.14.2 node_modules/browserify
├── inherits@1.0.0
├── concat-stream@0.1.1
├── shell-quote@0.0.1
├── duplexer@0.0.4
├── through@2.2.7
├── optimist@0.3.7 (wordwrap@0.0.2)
├── JSONStream@0.4.4 (jsonparse@0.0.5)
├── umd@1.1.1 (through@2.3.4, ruglify@1.0.0, rfile@1.0.0, uglify-js@2.2.5)
├── browser-resolve@0.1.1 (console-browserify@0.1.6, vm-browserify@0.0.1, zlib-browserify@0.0.1, crypto-browserify@0.2.1, resolve@0.3.1, http-browserify@0.1.11, buffer-browserify@0.0.5)
├── insert-module-globals@0.2.1 (process@0.5.1, commondir@0.0.1, lexical-scope@0.0.11)
├── browser-pack@0.8.1 (uglify-js@1.3.4, combine-source-map@0.1.2)
├── module-deps@0.8.0 (through@2.3.4, resolve@0.3.1, detective@2.1.2)
└── syntax-error@0.0.1 (esprima@0.9.9)
grunt-browserify@1.0.2 node_modules/grunt-browserify
├── browserify-shim@2.0.3 (through@2.2.7)
└── browserify@2.12.5 (concat-stream@0.1.1, inherits@1.0.0, shell-quote@0.0.1, duplexer@0.0.4, through@2.2.7, optimist@0.3.7, JSONStream@0.4.4, browser-resolve@0.1.1, insert-module-globals@0.2.1, umd@1.1.1, browser-pack@0.8.1, module-deps@0.6.2, syntax-error@0.0.1)
date-extended@0.0.4 node_modules/date-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
promise-extended@0.0.6 node_modules/promise-extended
└── grunt-contrib-jshint@0.3.0 (jshint@1.1.0)
array-extended@0.0.5 node_modules/array-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
timeout waiting to hear back from safari/6.0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
✓8.0
✓9.0
✓10.0
✓20.0
✓21.0
✓22.0
✓23.0
✓24.0
✓25.0
✓14.0
✓15.0
✓16.0
✓17.0
✓18.0
✓19.0

6.0
npm http GET https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/browserify
npm http 200 https://registry.npmjs.org/function-extended
npm http 200 https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http GET https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/array-extended
npm http 200 https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/is-extended
npm http 200 https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http GET https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/ht
npm http 200 https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http GET https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/it
npm http 200 https://registry.npmjs.org/grunt-it
npm http 200 https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http GET https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http GET https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify
npm http 200 https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http GET https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http GET https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/array-extended/0.0.4
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/array-extended/0.0.4
npm http 200 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http 200 https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 200 https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http 200 https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/uglify-js
npm http 200 https://registry.npmjs.org/lex-parser
npm http 200 https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http GET https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 200 https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http 200 https://registry.npmjs.org/nomnom/1.5.2
npm http 200 https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http GET https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http GET https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http GET https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 304 https://registry.npmjs.org/browserify
npm http 200 https://registry.npmjs.org/glob
npm http 200 https://registry.npmjs.org/hooker
npm http 200 https://registry.npmjs.org/iconv-lite
npm http 200 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http GET https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http GET https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http GET https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http GET https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/underscore.string
npm http 200 https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http GET https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http 200 https://registry.npmjs.org/shell-quote
npm http 200 https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http GET https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/duplexer
npm http 200 https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http GET https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/lodash
npm http 200 https://registry.npmjs.org/syntax-error
npm http 200 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http GET https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http GET https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/optimist
npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http GET https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/umd
npm http GET https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http 200 https://registry.npmjs.org/JSONStream
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http GET https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 200 https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http 200 https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 200 https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 200 https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 200 https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 200 https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http 200 https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http 200 https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http 200 https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http 200 https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http 200 https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http GET https://registry.npmjs.org/jshint
npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http 200 https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 304 https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http 200 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 200 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http 200 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 304 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 304 https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http GET https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http 200 https://registry.npmjs.org/sigmund
npm http 200 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http 200 https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/argparse
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/umd
npm http GET https://registry.npmjs.org/JSONStream
npm http 200 https://registry.npmjs.org/combine-source-map
npm http 200 https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/rfile
npm http 200 https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http GET https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http 200 https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http 200 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/resolve
npm http 200 https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/lexical-scope
npm http 200 https://registry.npmjs.org/resolve/0.3.1
npm http 200 https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http GET https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http GET https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/0.2.1
npm http 200 https://registry.npmjs.org/buffer-browserify/0.0.5
npm http 200 https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http GET https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 304 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 304 https://registry.npmjs.org/through
npm http 304 https://registry.npmjs.org/through
npm http 304 https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 200 https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http GET https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 304 https://registry.npmjs.org/module-deps
npm http 304 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 304 https://registry.npmjs.org/browser-pack
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/esprima
npm http 304 https://registry.npmjs.org/lodash
npm http 200 https://registry.npmjs.org/argparse
npm http 304 https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http GET https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 304 https://registry.npmjs.org/insert-module-globals
npm http 304 https://registry.npmjs.org/concat-stream
npm http 304 https://registry.npmjs.org/duplexer
npm http 304 https://registry.npmjs.org/umd
npm http 304 https://registry.npmjs.org/optimist
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/syntax-error
npm http 304 https://registry.npmjs.org/browser-resolve
npm http 200 https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http 304 https://registry.npmjs.org/JSONStream
npm http 200 https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http 200 https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http 200 https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http 200 https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 200 https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 200 https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm WARN prefer global jison@0.4.4 should be installed with -g
npm http GET https://registry.npmjs.org/esprima/1.0.2
npm http GET https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/esprima/1.0.2
npm http 200 https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http 200 https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 304 https://registry.npmjs.org/combine-source-map
npm http 304 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/wordwrap
npm http 304 https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/inline-source-map
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/console-browserify
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/detective
npm http 304 https://registry.npmjs.org/lexical-scope
npm http 304 https://registry.npmjs.org/commondir
npm http 304 https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/base64-js/0.0.2
npm http 304 https://registry.npmjs.org/jsonparse/0.0.5
npm http 304 https://registry.npmjs.org/process
npm http 304 https://registry.npmjs.org/through
npm http 304 https://registry.npmjs.org/console-browserify/0.1.6
npm http 304 https://registry.npmjs.org/vm-browserify/0.0.1
npm http 200 https://registry.npmjs.org/callsite
npm http 304 https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 304 https://registry.npmjs.org/crypto-browserify/0.2.1
npm http 304 https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http 304 https://registry.npmjs.org/underscore.string
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http 304 https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings
npm http 304 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http GET https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http 200 https://registry.npmjs.org/inline-source-map
npm http 200 https://registry.npmjs.org/console-browserify
npm http 304 https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http GET https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http 200 https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/base64-js/0.0.2
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http 200 https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http 200 https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http 200 https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http 200 https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 200 https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http 200 https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http 304 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/peakle
npm http GET https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/peakle
npm http GET https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/cli
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http 304 https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http 200 https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/inherits
function-extended@0.0.4 node_modules/function-extended
is-extended@0.0.8 node_modules/is-extended
ht@0.0.2 node_modules/ht
string-extended@0.0.5 node_modules/string-extended
declare.js@0.0.4 node_modules/declare.js
leafy@0.0.2 node_modules/leafy
grunt-it@0.3.1 node_modules/grunt-it
commander@1.1.1 node_modules/commander
└── keypress@0.1.0
extended@0.0.4 node_modules/extended
└── extender@0.0.7
object-extended@0.0.5 node_modules/object-extended
└── array-extended@0.0.4
it@0.2.6 node_modules/it
└── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1, minimatch@0.2.12)
grunt-contrib-uglify@0.2.1 node_modules/grunt-contrib-uglify
├── grunt-lib-contrib@0.6.1 (zlib-browserify@0.0.1)
└── uglify-js@2.3.6 (async@0.2.8, optimist@0.3.7, source-map@0.1.22)
jison@0.4.4 node_modules/jison
├── lex-parser@0.1.0
├── ebnf-parser@0.1.1
├── jison-lex@0.2.0
├── esprima@1.0.3
├── JSONSelect@0.4.0
├── nomnom@1.5.2 (colors@0.5.1, underscore@1.1.7)
└── escodegen@0.0.21 (estraverse@0.0.4, source-map@0.1.22)
grunt@0.4.1 node_modules/grunt
├── dateformat@1.0.2-1.2.3
├── colors@0.6.0-1
├── hooker@0.2.3
├── async@0.1.22
├── eventemitter2@0.4.11
├── underscore.string@2.2.0rc
├── which@1.0.5
├── coffee-script@1.3.3
├── iconv-lite@0.2.9
├── lodash@0.9.2
├── minimatch@0.2.12 (sigmund@1.0.0, lru-cache@2.3.0)
├── glob@3.1.21 (graceful-fs@1.2.1, inherits@1.0.0)
├── rimraf@2.0.3 (graceful-fs@1.1.14)
├── nopt@1.0.10 (abbrev@1.0.4)
├── findup-sync@0.1.2 (lodash@1.0.1)
└── js-yaml@2.0.5 (esprima@1.0.3, argparse@0.1.15)
grunt-contrib-jshint@0.5.4 node_modules/grunt-contrib-jshint
└── jshint@2.0.1 (console-browserify@0.1.6, underscore@1.4.4, shelljs@0.1.4, minimatch@0.2.12, cli@0.4.4-2)
browserify@2.14.2 node_modules/browserify
├── inherits@1.0.0
├── concat-stream@0.1.1
├── shell-quote@0.0.1
├── duplexer@0.0.4
├── through@2.2.7
├── optimist@0.3.7 (wordwrap@0.0.2)
├── JSONStream@0.4.4 (jsonparse@0.0.5)
├── umd@1.1.1 (through@2.3.4, ruglify@1.0.0, rfile@1.0.0, uglify-js@2.2.5)
├── browser-resolve@0.1.1 (console-browserify@0.1.6, zlib-browserify@0.0.1, vm-browserify@0.0.1, crypto-browserify@0.2.1, resolve@0.3.1, http-browserify@0.1.11, buffer-browserify@0.0.5)
├── browser-pack@0.8.1 (uglify-js@1.3.4, combine-source-map@0.1.2)
├── insert-module-globals@0.2.1 (process@0.5.1, commondir@0.0.1, lexical-scope@0.0.11)
├── module-deps@0.8.0 (through@2.3.4, resolve@0.3.1, detective@2.1.2)
└── syntax-error@0.0.1 (esprima@0.9.9)
grunt-browserify@1.0.2 node_modules/grunt-browserify
├── browserify-shim@2.0.3 (through@2.2.7)
└── browserify@2.12.5 (inherits@1.0.0, concat-stream@0.1.1, shell-quote@0.0.1, duplexer@0.0.4, through@2.2.7, optimist@0.3.7, JSONStream@0.4.4, browser-resolve@0.1.1, umd@1.1.1, browser-pack@0.8.1, insert-module-globals@0.2.1, module-deps@0.6.2, syntax-error@0.0.1)
date-extended@0.0.4 node_modules/date-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
array-extended@0.0.5 node_modules/array-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
promise-extended@0.0.6 node_modules/promise-extended
└── grunt-contrib-jshint@0.3.0 (jshint@1.1.0)
timeout waiting to hear back from safari/6.0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: errors: should handle errors
ok 38 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 40 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 41 Flow: not rule: with multiple facts: should fire rules in order
ok 42 Flow: or rule: should call when a string equals 'hello'
ok 43 Flow: or rule: should call when a string equals 'world'
ok 44 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 45 Flow: scope option: should call when a string equals 'hello'
ok 46 Flow: scope option: should call when a string equals 'world'
ok 47 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 48 Flow: events: should emit when facts are asserted
ok 49 Flow: events: should emit when facts are retracted
ok 50 Flow: events: should emit when facts are modified
ok 51 Flow: events: should emit when rules are fired
ok 52 Flow: matchUntilHalt: should match until halt is called
ok 53 Flow: fibonacci: should calculate fibonacci 3
ok 54 Flow: fibonacci: should calculate fibonacci 4
ok 55 Flow: fibonacci: should calculate fibonacci 5
ok 56 Flow: fibonacci: should calculate fibonacci 6
ok 57 Flow: diagnosis: should treat properly
ok 58 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 60 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 61 Flow compiled: or rule: should call when a string equals 'hello'
ok 62 Flow compiled: scoped functions: should call the scoped function
ok 63 Flow compiled: events: should emit when facts are asserted
ok 64 Flow compiled: events: should emit when facts are retracted
ok 65 Flow compiled: events: should emit when facts are modified
ok 66 Flow compiled: events: should emit when rules are fired
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 70 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 71 Flow compiled: diagnosis using dsl: should treat properly
ok 72 nools dsl parser: parsing define: should parse a define statement
ok 73 nools dsl parser: parsing define: global: should parse a function call statement
ok 74 nools dsl parser: parsing define: global: should parse a member look up
ok 75 nools dsl parser: parsing define: global: should parse a strings
ok 76 nools dsl parser: parsing define: global: should parse a boolean
ok 77 nools dsl parser: parsing define: global: should parse numbers
ok 78 nools dsl parser: parsing define: global: should parse a new instantiation
ok 79 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 80 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 82 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 83 nools dsl parser: parsing function: should parse a function statement
ok 84 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 85 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 86 nools dsl parser: parsing rules: should parse rules
ok 87 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 88 nools dsl parser: parsing rules: should throw an error for a missing name
ok 89 nools dsl parser: parsing rules: should parse not conditions
ok 90 nools dsl parser: parsing rules: should parse or conditions
ok 91 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 94 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 95 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 96 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 97 A Parser: should parse valid string expressions
ok 98 A Parser: should parse valid string expressions with functions
ok 99 A Parser: should parse valid string expressions with property access
ok 100 A Parser: should parse valid string expressions with boolean operators
ok 101 A Parser: should handle operator associativity properly
ok 102 A Parser: should parse arrays
ok 103 A Parser: should parse the in operator
ok 104 A Parser: should parse the notIn operator
ok 105 Rule: createRule: with strings: should create for string
ok 106 Rule: createRule: with strings: should create for String
ok 107 Rule: createRule: with strings: should create for number
ok 108 Rule: createRule: with strings: should create for Number
ok 109 Rule: createRule: with strings: should create for date
ok 110 Rule: createRule: with strings: should create for Date
ok 111 Rule: createRule: with strings: should create for array
ok 112 Rule: createRule: with strings: should create for Array
ok 113 Rule: createRule: with strings: should create for boolean
ok 114 Rule: createRule: with strings: should create for Boolean
ok 115 Rule: createRule: with strings: should create for regexp
ok 116 Rule: createRule: with strings: should create for Regexp
ok 117 Rule: createRule: with strings: should create for object
ok 118 Rule: createRule: with strings: should create for Object
ok 119 Rule: createRule: with strings: should create for hash
ok 120 Rule: createRule: with strings: should create for Hash
ok 121 Rule: createRule: with functions: should create for String function
ok 122 Rule: createRule: with functions: should create for Number function
ok 123 Rule: createRule: with functions: should create for Date function
ok 124 Rule: createRule: with functions: should create for []
ok 125 Rule: createRule: with functions: should create for Array function
ok 126 Rule: createRule: with functions: should create for Boolean function
ok 127 Rule: createRule: with functions: should create for RegExp function
ok 128 Rule: createRule: with functions: should create for Object function
ok 129 Rule: createRule: with functions: should create for custom functions
ok 130 Rule: createRule: should should create a composite rule
ok 131 Rule: createRule: should should create a not pattern
ok 132 Rule: createRule: should should create a or pattern
# tests 132
# pass 132
# fail 0
1..132
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
✓8.0
✓9.0
✓10.0
✓20.0
✓21.0
✓22.0
✓23.0
✓24.0
✓25.0
✓14.0
✓15.0
✓16.0
✓17.0
✓18.0
✓19.0

6.0
npm http GET https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/browserify
npm http 200 https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/string-extended
npm http 200 https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http GET https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/leafy
npm http 200 https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http GET https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/browserify
npm http 200 https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http 200 https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/array-extended/0.0.4
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/array-extended/0.0.4
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http 200 https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 200 https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http 200 https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http 200 https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 200 https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 200 https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 200 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 304 https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http 200 https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/module-deps
npm http 200 https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http GET https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http 200 https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http 200 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/umd
npm http GET https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http 200 https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http 200 https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http 200 https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 200 https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 200 https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 200 https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http 200 https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http 200 https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/module-deps
npm http 200 https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http 200 https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 200 https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/argparse
npm http GET https://registry.npmjs.org/esprima
npm http 200 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/console-browserify
npm http GET https://registry.npmjs.org/minimatch
npm http 304 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 200 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http 200 https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http GET https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http 304 https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http 200 https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 304 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/browser-pack
npm http 304 https://registry.npmjs.org/shell-quote
npm http 304 https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 200 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 200 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 304 https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 200 https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http 200 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http 304 https://registry.npmjs.org/esprima
npm http 200 https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/argparse
npm http GET https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 200 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http 200 https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http 200 https://registry.npmjs.org/console-browserify
npm http 200 https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http 200 https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http 304 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 200 https://registry.npmjs.org/ruglify
npm http 200 https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http GET https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 304 https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http 200 https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http 200 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/through
npm http 200 https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http 200 https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 200 https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 200 https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 200 https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http 200 https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http 200 https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 200 https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http 200 https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 200 https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 200 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore.string
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http 200 https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http 200 https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 200 https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 200 https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/esprima/1.0.2
npm http GET https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/astw
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http GET https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings
npm http GET https://registry.npmjs.org/inline-source-map
npm http 200 https://registry.npmjs.org/callsite
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http GET https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm WARN prefer global jison@0.4.4 should be installed with -g
npm http GET https://registry.npmjs.org/base64-js/0.0.2
npm http GET https://registry.npmjs.org/peakle
npm http GET https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/concat-stream/0.0.8
npm http 304 https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/resolve
npm http 200 https://registry.npmjs.org/esprima/1.0.2
npm http 200 https://registry.npmjs.org/astw
npm http 200 https://registry.npmjs.org/escodegen/0.0.15
npm http 200 https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http GET https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 200 https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http 200 https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http GET https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/convert-source-map
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings
npm http GET https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http 200 https://registry.npmjs.org/inline-source-map
npm http GET https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/base64-js/0.0.2
npm http GET https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/shelljs
npm http 200 https://registry.npmjs.org/peakle
npm http GET https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http 304 https://registry.npmjs.org/cli
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http 200 https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 200 https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http 200 https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http 304 https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http 304 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/amdefine
function-extended@0.0.4 node_modules/function-extended
is-extended@0.0.8 node_modules/is-extended
ht@0.0.2 node_modules/ht
string-extended@0.0.5 node_modules/string-extended
declare.js@0.0.4 node_modules/declare.js
leafy@0.0.2 node_modules/leafy
grunt-it@0.3.1 node_modules/grunt-it
commander@1.1.1 node_modules/commander
└── keypress@0.1.0
object-extended@0.0.5 node_modules/object-extended
└── array-extended@0.0.4
extended@0.0.4 node_modules/extended
└── extender@0.0.7
it@0.2.6 node_modules/it
└── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1, minimatch@0.2.12)
grunt-contrib-uglify@0.2.1 node_modules/grunt-contrib-uglify
├── grunt-lib-contrib@0.6.1 (zlib-browserify@0.0.1)
└── uglify-js@2.3.6 (async@0.2.8, optimist@0.3.7, source-map@0.1.22)
jison@0.4.4 node_modules/jison
├── lex-parser@0.1.0
├── ebnf-parser@0.1.1
├── jison-lex@0.2.0
├── esprima@1.0.3
├── JSONSelect@0.4.0
├── nomnom@1.5.2 (colors@0.5.1, underscore@1.1.7)
└── escodegen@0.0.21 (estraverse@0.0.4, source-map@0.1.22)
grunt@0.4.1 node_modules/grunt
├── dateformat@1.0.2-1.2.3
├── colors@0.6.0-1
├── hooker@0.2.3
├── async@0.1.22
├── eventemitter2@0.4.11
├── which@1.0.5
├── underscore.string@2.2.0rc
├── coffee-script@1.3.3
├── iconv-lite@0.2.9
├── lodash@0.9.2
├── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1)
├── nopt@1.0.10 (abbrev@1.0.4)
├── rimraf@2.0.3 (graceful-fs@1.1.14)
├── minimatch@0.2.12 (sigmund@1.0.0, lru-cache@2.3.0)
├── findup-sync@0.1.2 (lodash@1.0.1)
└── js-yaml@2.0.5 (esprima@1.0.3, argparse@0.1.15)
grunt-contrib-jshint@0.5.4 node_modules/grunt-contrib-jshint
└── jshint@2.0.1 (console-browserify@0.1.6, underscore@1.4.4, shelljs@0.1.4, minimatch@0.2.12, cli@0.4.4-2)
date-extended@0.0.4 node_modules/date-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
array-extended@0.0.5 node_modules/array-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
promise-extended@0.0.6 node_modules/promise-extended
└── grunt-contrib-jshint@0.3.0 (jshint@1.1.0)
browserify@2.14.2 node_modules/browserify
├── inherits@1.0.0
├── concat-stream@0.1.1
├── shell-quote@0.0.1
├── duplexer@0.0.4
├── through@2.2.7
├── optimist@0.3.7 (wordwrap@0.0.2)
├── JSONStream@0.4.4 (jsonparse@0.0.5)
├── umd@1.1.1 (through@2.3.4, ruglify@1.0.0, rfile@1.0.0, uglify-js@2.2.5)
├── browser-resolve@0.1.1 (console-browserify@0.1.6, zlib-browserify@0.0.1, vm-browserify@0.0.1, crypto-browserify@0.2.1, resolve@0.3.1, http-browserify@0.1.11, buffer-browserify@0.0.5)
├── syntax-error@0.0.1 (esprima@0.9.9)
├── insert-module-globals@0.2.1 (process@0.5.1, commondir@0.0.1, lexical-scope@0.0.11)
├── browser-pack@0.8.1 (uglify-js@1.3.4, combine-source-map@0.1.2)
└── module-deps@0.8.0 (through@2.3.4, resolve@0.3.1, detective@2.1.2)
grunt-browserify@1.0.2 node_modules/grunt-browserify
├── browserify-shim@2.0.3 (through@2.2.7)
└── browserify@2.12.5 (inherits@1.0.0, concat-stream@0.1.1, shell-quote@0.0.1, duplexer@0.0.4, through@2.2.7, optimist@0.3.7, JSONStream@0.4.4, umd@1.1.1, browser-resolve@0.1.1, syntax-error@0.0.1, insert-module-globals@0.2.1, browser-pack@0.8.1, module-deps@0.6.2)
timeout waiting to hear back from safari/6.0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
✓8.0
✓9.0
✓10.0
✓20.0
✓21.0
✓22.0
✓23.0
✓24.0
✓25.0
✓14.0
✓15.0
✓16.0
✓17.0
✓18.0
✓19.0

6.0
npm http GET https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/browserify
npm http 200 https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/array-extended
npm http 200 https://registry.npmjs.org/extended
npm http 200 https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http GET https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http GET https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/array-extended/0.0.4
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/jshint
npm http 200 https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http GET https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/array-extended/0.0.4
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http 200 https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/browserify-shim
npm http 200 https://registry.npmjs.org/uglify-js
npm http 200 https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/jison-lex
npm http 200 https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http GET https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http GET https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 200 https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 200 https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 304 https://registry.npmjs.org/browserify
npm http 200 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http GET https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 200 https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http 200 https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http 200 https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http 200 https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http 200 https://registry.npmjs.org/duplexer
npm http 200 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http GET https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/umd
npm http GET https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http 200 https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http 200 https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http 200 https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 200 https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 200 https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 200 https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http 200 https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http 200 https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http 200 https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http GET https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http GET https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 200 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http 304 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http GET https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 200 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http 200 https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http 304 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 200 https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/argparse
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/umd
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/through
npm http 200 https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http 200 https://registry.npmjs.org/ruglify
npm http 200 https://registry.npmjs.org/abbrev
npm http 200 https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 200 https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http 200 https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http 200 https://registry.npmjs.org/wordwrap
npm http 200 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/console-browserify
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/resolve
npm http 200 https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http 200 https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/process
npm http 200 https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http GET https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/argparse
npm http GET https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 200 https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 304 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 304 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 304 https://registry.npmjs.org/esprima
npm http 304 https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 304 https://registry.npmjs.org/browser-pack
npm http 304 https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 304 https://registry.npmjs.org/through
npm http 304 https://registry.npmjs.org/concat-stream
npm http 304 https://registry.npmjs.org/duplexer
npm http 304 https://registry.npmjs.org/shell-quote
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 304 https://registry.npmjs.org/insert-module-globals
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/browser-resolve
npm http 304 https://registry.npmjs.org/syntax-error
npm http 304 https://registry.npmjs.org/optimist
npm http 304 https://registry.npmjs.org/umd
npm http 304 https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/JSONStream
npm http 200 https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http 200 https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http 200 https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/console-browserify
npm http GET https://registry.npmjs.org/peakle
npm http GET https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http 200 https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http 200 https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 200 https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 200 https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http 200 https://registry.npmjs.org/peakle
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http 200 https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http 200 https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http GET https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/esprima/1.0.2
npm http GET https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http GET https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings
npm http GET https://registry.npmjs.org/inline-source-map
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http 304 https://registry.npmjs.org/ruglify
npm WARN prefer global jison@0.4.4 should be installed with -g
npm http 200 https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 304 https://registry.npmjs.org/rfile
npm http 304 https://registry.npmjs.org/uglify-js/1.3.4
npm http 304 https://registry.npmjs.org/combine-source-map
npm http 200 https://registry.npmjs.org/esprima/1.0.2
npm http 200 https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http 304 https://registry.npmjs.org/wordwrap
npm http 304 https://registry.npmjs.org/detective
npm http 304 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/lexical-scope
npm http 304 https://registry.npmjs.org/commondir
npm http 304 https://registry.npmjs.org/resolve/0.3.1
npm http 304 https://registry.npmjs.org/console-browserify/0.1.6
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/underscore.string
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/crypto-browserify/0.2.1
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 304 https://registry.npmjs.org/buffer-browserify/0.0.5
npm http 304 https://registry.npmjs.org/vm-browserify/0.0.1
npm http 304 https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http 200 https://registry.npmjs.org/convert-source-map
npm http 200 https://registry.npmjs.org/inline-source-map
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings
npm http 304 https://registry.npmjs.org/jsonparse/0.0.5
npm http 200 https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http GET https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http GET https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http 304 https://registry.npmjs.org/lru-cache
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http 200 https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/sigmund
npm http 200 https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http 200 https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http GET https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http 200 https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http GET https://registry.npmjs.org/base64-js/0.0.2
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http GET https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/base64-js/0.0.2
npm http GET https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http 304 https://registry.npmjs.org/resolve
npm http 304 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http 304 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/inherits
function-extended@0.0.4 node_modules/function-extended
is-extended@0.0.8 node_modules/is-extended
ht@0.0.2 node_modules/ht
string-extended@0.0.5 node_modules/string-extended
declare.js@0.0.4 node_modules/declare.js
leafy@0.0.2 node_modules/leafy
grunt-it@0.3.1 node_modules/grunt-it
commander@1.1.1 node_modules/commander
└── keypress@0.1.0
object-extended@0.0.5 node_modules/object-extended
└── array-extended@0.0.4
extended@0.0.4 node_modules/extended
└── extender@0.0.7
it@0.2.6 node_modules/it
└── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1, minimatch@0.2.12)
grunt-contrib-uglify@0.2.1 node_modules/grunt-contrib-uglify
├── grunt-lib-contrib@0.6.1 (zlib-browserify@0.0.1)
└── uglify-js@2.3.6 (async@0.2.8, optimist@0.3.7, source-map@0.1.22)
jison@0.4.4 node_modules/jison
├── lex-parser@0.1.0
├── ebnf-parser@0.1.1
├── jison-lex@0.2.0
├── esprima@1.0.3
├── JSONSelect@0.4.0
├── nomnom@1.5.2 (colors@0.5.1, underscore@1.1.7)
└── escodegen@0.0.21 (estraverse@0.0.4, source-map@0.1.22)
grunt@0.4.1 node_modules/grunt
├── dateformat@1.0.2-1.2.3
├── colors@0.6.0-1
├── hooker@0.2.3
├── async@0.1.22
├── eventemitter2@0.4.11
├── underscore.string@2.2.0rc
├── which@1.0.5
├── coffee-script@1.3.3
├── iconv-lite@0.2.9
├── lodash@0.9.2
├── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1)
├── nopt@1.0.10 (abbrev@1.0.4)
├── minimatch@0.2.12 (sigmund@1.0.0, lru-cache@2.3.0)
├── rimraf@2.0.3 (graceful-fs@1.1.14)
├── js-yaml@2.0.5 (esprima@1.0.3, argparse@0.1.15)
└── findup-sync@0.1.2 (lodash@1.0.1)
grunt-contrib-jshint@0.5.4 node_modules/grunt-contrib-jshint
└── jshint@2.0.1 (console-browserify@0.1.6, underscore@1.4.4, shelljs@0.1.4, minimatch@0.2.12, cli@0.4.4-2)
date-extended@0.0.4 node_modules/date-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
promise-extended@0.0.6 node_modules/promise-extended
└── grunt-contrib-jshint@0.3.0 (jshint@1.1.0)
array-extended@0.0.5 node_modules/array-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
browserify@2.14.2 node_modules/browserify
├── inherits@1.0.0
├── concat-stream@0.1.1
├── shell-quote@0.0.1
├── duplexer@0.0.4
├── through@2.2.7
├── optimist@0.3.7 (wordwrap@0.0.2)
├── JSONStream@0.4.4 (jsonparse@0.0.5)
├── insert-module-globals@0.2.1 (process@0.5.1, commondir@0.0.1, lexical-scope@0.0.11)
├── umd@1.1.1 (through@2.3.4, ruglify@1.0.0, rfile@1.0.0, uglify-js@2.2.5)
├── browser-pack@0.8.1 (uglify-js@1.3.4, combine-source-map@0.1.2)
├── browser-resolve@0.1.1 (console-browserify@0.1.6, zlib-browserify@0.0.1, vm-browserify@0.0.1, crypto-browserify@0.2.1, resolve@0.3.1, buffer-browserify@0.0.5, http-browserify@0.1.11)
├── module-deps@0.8.0 (through@2.3.4, resolve@0.3.1, detective@2.1.2)
└── syntax-error@0.0.1 (esprima@0.9.9)
grunt-browserify@1.0.2 node_modules/grunt-browserify
├── browserify-shim@2.0.3 (through@2.2.7)
└── browserify@2.12.5 (inherits@1.0.0, concat-stream@0.1.1, shell-quote@0.0.1, duplexer@0.0.4, through@2.2.7, optimist@0.3.7, JSONStream@0.4.4, insert-module-globals@0.2.1, umd@1.1.1, browser-pack@0.8.1, browser-resolve@0.1.1, module-deps@0.6.2, syntax-error@0.0.1)
timeout waiting to hear back from safari/6.0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: with functions: should create for []
ok 124 Rule: createRule: with functions: should create for Array function
ok 125 Rule: createRule: with functions: should create for Boolean function
ok 126 Rule: createRule: with functions: should create for RegExp function
ok 127 Rule: createRule: with functions: should create for Object function
ok 128 Rule: createRule: with functions: should create for custom functions
ok 129 Rule: createRule: should should create a composite rule
ok 130 Rule: createRule: should should create a not pattern
ok 131 Rule: createRule: should should create a or pattern
# tests 131
# pass 131
# fail 0
✓8.0
✓9.0
✓10.0
✓20.0
✓21.0
✓22.0
✓23.0
✓24.0
✓25.0
✓14.0
✓15.0
✓16.0
✓17.0
✓18.0
✓19.0

6.0
npm http GET https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/string-extended
npm http GET https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-browserify
npm http GET https://registry.npmjs.org/browserify
npm http 200 https://registry.npmjs.org/extended
npm http GET https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/is-extended
npm http GET https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/string-extended
npm http 200 https://registry.npmjs.org/declare.js
npm http GET https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http GET https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/grunt
npm http GET https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/date-extended
npm http GET https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/function-extended
npm http GET https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/object-extended
npm http GET https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/array-extended
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/ht
npm http GET https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/leafy
npm http GET https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/promise-extended
npm http GET https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/it
npm http GET https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/grunt-it
npm http GET https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify
npm http GET https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/jison
npm http GET https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify
npm http 200 https://registry.npmjs.org/extended/-/extended-0.0.4.tgz
npm http GET https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/is-extended/-/is-extended-0.0.8.tgz
npm http 200 https://registry.npmjs.org/string-extended/-/string-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/declare.js/-/declare.js-0.0.4.tgz
npm http 200 https://registry.npmjs.org/grunt/-/grunt-0.4.1.tgz
npm http 200 https://registry.npmjs.org/function-extended/-/function-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/object-extended/-/object-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/date-extended/-/date-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.5.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-1.1.1.tgz
npm http 200 https://registry.npmjs.org/leafy/-/leafy-0.0.2.tgz
npm http 200 https://registry.npmjs.org/ht/-/ht-0.0.2.tgz
npm http 200 https://registry.npmjs.org/promise-extended/-/promise-extended-0.0.6.tgz
npm http 200 https://registry.npmjs.org/it/-/it-0.2.6.tgz
npm http 200 https://registry.npmjs.org/grunt-it/-/grunt-it-0.3.1.tgz
npm http 200 https://registry.npmjs.org/jison/-/jison-0.4.4.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.5.4.tgz
npm http 200 https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-1.0.2.tgz
npm http 200 https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/array-extended/0.0.4
npm http GET https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/JSONSelect/0.4.0
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/uglify-js
npm http GET https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/array-extended/0.0.4
npm http 200 https://registry.npmjs.org/JSONSelect/0.4.0
npm http 200 https://registry.npmjs.org/keypress
npm http 200 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http GET https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http GET https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib
npm http GET https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/extender
npm http GET https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/browserify-shim
npm http GET https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 200 https://registry.npmjs.org/uglify-js
npm http 200 https://registry.npmjs.org/colors
npm http 200 https://registry.npmjs.org/coffee-script
npm http 200 https://registry.npmjs.org/escodegen/0.0.21
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http GET https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/jison-lex
npm http GET https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http GET https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/dateformat/1.0.2-1.2.3
npm http GET https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser
npm http GET https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/eventemitter2
npm http GET https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/lex-parser
npm http GET https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 304 https://registry.npmjs.org/grunt-contrib-jshint
npm http GET https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 200 https://registry.npmjs.org/findup-sync
npm http GET https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 304 https://registry.npmjs.org/browserify
npm http GET https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/nomnom/1.5.2
npm http GET https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 200 https://registry.npmjs.org/iconv-lite
npm http GET https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/hooker
npm http GET https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 200 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http GET https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 200 https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/which
npm http GET https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/underscore.string
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http 200 https://registry.npmjs.org/js-yaml
npm http GET https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http 200 https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http 200 https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http 200 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/syntax-error
npm http 200 https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http 200 https://registry.npmjs.org/array-extended/-/array-extended-0.0.4.tgz
npm http 200 https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/umd
npm http 200 https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http GET https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http 200 https://registry.npmjs.org/JSONStream
npm http GET https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 200 https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz
npm http 200 https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz
npm http 200 https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz
npm http 200 https://registry.npmjs.org/jshint/-/jshint-2.0.1.tgz
npm http 200 https://registry.npmjs.org/extender/-/extender-0.0.7.tgz
npm http 200 https://registry.npmjs.org/browserify-shim/-/browserify-shim-2.0.3.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.21.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz
npm http 200 https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz
npm http 200 https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.1.tgz
npm http 200 https://registry.npmjs.org/jison-lex/-/jison-lex-0.2.0.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.3.0.tgz
npm http 200 https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz
npm http 200 https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.4.3.tgz
npm http 200 https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz
npm http 200 https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.0.tgz
npm http 200 https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.9.tgz
npm http 200 https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz
npm http 200 https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz
npm http 200 https://registry.npmjs.org/browserify/-/browserify-2.12.5.tgz
npm http 200 https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz
npm http 200 https://registry.npmjs.org/glob/-/glob-3.1.21.tgz
npm http 200 https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz
npm http 200 https://registry.npmjs.org/which/-/which-1.0.5.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/jshint
npm http 200 https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.0rc.tgz
npm http 200 https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz
npm http 200 https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.2.7.tgz
npm http 200 https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz
npm http 200 https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/colors
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz
npm http 200 https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz
npm http 200 https://registry.npmjs.org/umd/-/umd-1.1.1.tgz
npm http 200 https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz
npm http GET https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz
npm http 304 https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 304 https://registry.npmjs.org/jshint
npm http GET https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http GET https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http GET https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http 304 https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 200 https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/estraverse
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http GET https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 200 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/jshint/-/jshint-1.1.0.tgz
npm http 200 https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/async/-/async-0.2.8.tgz
npm http GET https://registry.npmjs.org/through
npm http 200 https://registry.npmjs.org/source-map/-/source-map-0.1.22.tgz
npm http 200 https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/colors/-/colors-0.5.1.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz
npm http GET https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/module-deps
npm http GET https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/concat-stream
npm http GET https://registry.npmjs.org/insert-module-globals
npm http GET https://registry.npmjs.org/syntax-error
npm http GET https://registry.npmjs.org/browser-pack
npm http GET https://registry.npmjs.org/browser-resolve
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/umd
npm http GET https://registry.npmjs.org/optimist
npm http 200 https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/argparse
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify
npm http GET https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/concat-stream
npm http 304 https://registry.npmjs.org/module-deps
npm http 304 https://registry.npmjs.org/duplexer
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/lexical-scope
npm http GET https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/console-browserify/0.1.6
npm http GET https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/vm-browserify/0.0.1
npm http GET https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/buffer-browserify/0.0.5
npm http GET https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http GET https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 304 https://registry.npmjs.org/shell-quote
npm http GET https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/syntax-error
npm http 304 https://registry.npmjs.org/insert-module-globals
npm http 304 https://registry.npmjs.org/browser-pack
npm http 304 https://registry.npmjs.org/browser-resolve
npm http 304 https://registry.npmjs.org/umd
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/optimist
npm http 200 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 304 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 304 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http 200 https://registry.npmjs.org/argparse
npm http 304 https://registry.npmjs.org/esprima
npm http GET https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 304 https://registry.npmjs.org/lodash
npm http GET https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 200 https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http 200 https://registry.npmjs.org/ruglify
npm http 200 https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http GET https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http 304 https://registry.npmjs.org/esprima
npm http 200 https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http GET https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http 304 https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/through
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/uglify-js/1.3.4
npm http GET https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/console-browserify
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/lexical-scope
npm http 200 https://registry.npmjs.org/wordwrap
npm http 200 https://registry.npmjs.org/commondir
npm http GET https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http GET https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http GET https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/resolve/0.3.1
npm http GET https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/resolve
npm http 200 https://registry.npmjs.org/console-browserify/0.1.6
npm http 200 https://registry.npmjs.org/vm-browserify/0.0.1
npm http 200 https://registry.npmjs.org/process
npm http GET https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http GET https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http GET https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/detective
npm http GET https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/0.2.1
npm http GET https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/module-deps/-/module-deps-0.6.2.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/0.0.5
npm http 304 https://registry.npmjs.org/through
npm http 200 https://registry.npmjs.org/http-browserify/0.1.11
npm http GET https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http GET https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz
npm http 200 https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
npm http 200 https://registry.npmjs.org/jsonparse/0.0.5
npm http GET https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz
npm http 200 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz
npm http 200 https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz
npm http 200 https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz
npm http 200 https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.2.tgz
npm http 200 https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz
npm http 200 https://registry.npmjs.org/through/-/through-2.3.4.tgz
npm http 200 https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http 200 https://registry.npmjs.org/console-browserify
npm http 304 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/rfile
npm http GET https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 200 https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz
npm http 200 https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.11.tgz
npm http GET https://registry.npmjs.org/combine-source-map
npm http GET https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/process/-/process-0.5.1.tgz
npm http 200 https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz
npm http 200 https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz
npm http 200 https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz
npm http 200 https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz
npm http 200 https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz
npm http 200 https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz
npm http 200 https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz
npm http 200 https://registry.npmjs.org/detective/-/detective-2.1.2.tgz
npm http 200 https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz
npm http 200 https://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz
npm http 200 https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz
npm http 200 https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore.string
npm http 304 https://registry.npmjs.org/zlib-browserify/0.0.1
npm http 200 https://registry.npmjs.org/cli/-/cli-0.4.4-2.tgz
npm http 304 https://registry.npmjs.org/combine-source-map
npm http 304 https://registry.npmjs.org/rfile
npm http 304 https://registry.npmjs.org/underscore.string
npm http 304 https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http GET https://registry.npmjs.org/astw
npm http 200 https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.1.tgz
npm http GET https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/esprima/1.0.2
npm http GET https://registry.npmjs.org/escodegen/0.0.15
npm http GET https://registry.npmjs.org/resolve
npm http GET https://registry.npmjs.org/source-map
npm WARN prefer global jison@0.4.4 should be installed with -g
npm http 200 https://registry.npmjs.org/astw
npm http GET https://registry.npmjs.org/convert-source-map
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings
npm http GET https://registry.npmjs.org/inline-source-map
npm http GET https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 304 https://registry.npmjs.org/resolve
npm http 200 https://registry.npmjs.org/escodegen/0.0.15
npm http 200 https://registry.npmjs.org/esprima/1.0.2
npm http 200 https://registry.npmjs.org/callsite
npm http GET https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http GET https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http GET https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/astw/-/astw-0.0.0.tgz
npm http 200 https://registry.npmjs.org/convert-source-map
npm http 200 https://registry.npmjs.org/inline-source-map
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings
npm http 200 https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz
npm http 200 https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz
npm http 200 https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/base64-js/0.0.2
npm http GET https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http GET https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http GET https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http 304 https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http 200 https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.3.tgz
npm http 200 https://registry.npmjs.org/glob/-/glob-3.2.1.tgz
npm http 200 https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.5.tgz
npm http 200 https://registry.npmjs.org/base64-js/0.0.2
npm http GET https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http GET https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.3.tgz
npm http 200 https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz
npm http 304 https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/concat-stream/0.0.8
npm http GET https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/peakle
npm http GET https://github.com/ariya/esprima/tarball/master
npm http GET https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/shelljs
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/minimatch
npm http 200 https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz
npm http 304 https://registry.npmjs.org/shelljs
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/source-map
npm http 200 https://registry.npmjs.org/peakle
npm http 304 https://registry.npmjs.org/cli
npm http GET https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http 304 https://registry.npmjs.org/minimatch
npm http GET https://registry.npmjs.org/amdefine
npm http 200 https://github.com/ariya/esprima/tarball/master
npm http 304 https://registry.npmjs.org/amdefine
npm http 200 https://registry.npmjs.org/peakle/-/peakle-0.0.1.tgz
npm http GET https://registry.npmjs.org/source-map
npm http 304 https://registry.npmjs.org/source-map
npm http GET https://registry.npmjs.org/amdefine
npm http 304 https://registry.npmjs.org/amdefine
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/glob
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/glob
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/inherits
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/inherits
function-extended@0.0.4 node_modules/function-extended
is-extended@0.0.8 node_modules/is-extended
ht@0.0.2 node_modules/ht
string-extended@0.0.5 node_modules/string-extended
declare.js@0.0.4 node_modules/declare.js
leafy@0.0.2 node_modules/leafy
grunt-it@0.3.1 node_modules/grunt-it
object-extended@0.0.5 node_modules/object-extended
└── array-extended@0.0.4
commander@1.1.1 node_modules/commander
└── keypress@0.1.0
extended@0.0.4 node_modules/extended
└── extender@0.0.7
it@0.2.6 node_modules/it
└── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.1, minimatch@0.2.12)
grunt-contrib-uglify@0.2.1 node_modules/grunt-contrib-uglify
├── grunt-lib-contrib@0.6.1 (zlib-browserify@0.0.1)
└── uglify-js@2.3.6 (async@0.2.8, optimist@0.3.7, source-map@0.1.22)
jison@0.4.4 node_modules/jison
├── lex-parser@0.1.0
├── ebnf-parser@0.1.1
├── jison-lex@0.2.0
├── esprima@1.0.3
├── JSONSelect@0.4.0
├── nomnom@1.5.2 (colors@0.5.1, underscore@1.1.7)
└── escodegen@0.0.21 (estraverse@0.0.4, source-map@0.1.22)
grunt@0.4.1 node_modules/grunt
├── dateformat@1.0.2-1.2.3
├── colors@0.6.0-1
├── hooker@0.2.3
├── async@0.1.22
├── eventemitter2@0.4.11
├── underscore.string@2.2.0rc
├── iconv-lite@0.2.9
├── which@1.0.5
├── coffee-script@1.3.3
├── lodash@0.9.2
├── glob@3.1.21 (graceful-fs@1.2.1, inherits@1.0.0)
├── nopt@1.0.10 (abbrev@1.0.4)
├── rimraf@2.0.3 (graceful-fs@1.1.14)
├── minimatch@0.2.12 (sigmund@1.0.0, lru-cache@2.3.0)
├── js-yaml@2.0.5 (esprima@1.0.3, argparse@0.1.15)
└── findup-sync@0.1.2 (lodash@1.0.1)
grunt-contrib-jshint@0.5.4 node_modules/grunt-contrib-jshint
└── jshint@2.0.1 (console-browserify@0.1.6, underscore@1.4.4, shelljs@0.1.4, minimatch@0.2.12, cli@0.4.4-2)
grunt-browserify@1.0.2 node_modules/grunt-browserify
├── browserify-shim@2.0.3 (through@2.2.7)
└── browserify@2.12.5 (inherits@1.0.0, concat-stream@0.1.1, shell-quote@0.0.1, duplexer@0.0.4, through@2.2.7, optimist@0.3.7, JSONStream@0.4.4, umd@1.1.1, browser-resolve@0.1.1, insert-module-globals@0.2.1, browser-pack@0.8.1, module-deps@0.6.2, syntax-error@0.0.1)
browserify@2.14.2 node_modules/browserify
├── inherits@1.0.0
├── concat-stream@0.1.1
├── shell-quote@0.0.1
├── duplexer@0.0.4
├── through@2.2.7
├── optimist@0.3.7 (wordwrap@0.0.2)
├── JSONStream@0.4.4 (jsonparse@0.0.5)
├── umd@1.1.1 (through@2.3.4, ruglify@1.0.0, rfile@1.0.0, uglify-js@2.2.5)
├── browser-resolve@0.1.1 (console-browserify@0.1.6, zlib-browserify@0.0.1, vm-browserify@0.0.1, crypto-browserify@0.2.1, resolve@0.3.1, buffer-browserify@0.0.5, http-browserify@0.1.11)
├── insert-module-globals@0.2.1 (process@0.5.1, commondir@0.0.1, lexical-scope@0.0.11)
├── browser-pack@0.8.1 (uglify-js@1.3.4, combine-source-map@0.1.2)
├── module-deps@0.8.0 (through@2.3.4, resolve@0.3.1, detective@2.1.2)
└── syntax-error@0.0.1 (esprima@0.9.9)
promise-extended@0.0.6 node_modules/promise-extended
└── grunt-contrib-jshint@0.3.0 (jshint@1.1.0)
date-extended@0.0.4 node_modules/date-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
array-extended@0.0.5 node_modules/array-extended
└── grunt-contrib-jshint@0.4.3 (jshint@1.1.0)
timeout waiting to hear back from safari/6.0
1..131
ok 1 constraint matcher: match: should check equality
ok 2 constraint matcher: match: should check inequality
ok 3 constraint matcher: match: should check gt operator
ok 4 constraint matcher: match: should check lt operator
ok 5 constraint matcher: match: should check gte operator
ok 6 constraint matcher: match: should check lte operator
ok 7 constraint matcher: match: should check lte operator
ok 8 constraint matcher: match: should check like operator
ok 9 constraint matcher: match: should check notLike operator
ok 10 constraint matcher: match: should check and operator
ok 11 constraint matcher: match: should check or operator
ok 12 constraint matcher: match: should check with member operator
ok 13 constraint matcher: match: should check with in operator
ok 14 constraint matcher: match: should check with notIn operator
ok 15 constraint matcher: match: should allow properties with in
ok 16 constraint matcher: match: should check with boolean associativity
ok 17 constraint matcher: match: should check with nested properties
ok 18 constraint matcher: match: should check with function
ok 19 constraint matcher: match: should check with functions and identifier args
ok 20 constraint matcher: match: should check with functions in a deep property chain and identifier args
ok 21 constraint matcher: match: should check with functions in a deep property chain that returns an object and identifier args
ok 22 constraint matcher: match: should have date helpers
ok 23 constraint matcher: match: should create have type helpers
ok 24 constraint matcher: toConstraints: should create for expressions
ok 25 constraint matcher: toConstraints: should create correct pattern depending on scope
ok 26 constraint matcher: toJs: should create js equvalent expression
ok 27 constraint matcher: getIdentifiers: should create the correct atoms for and expressions
ok 28 constraint matcher: equals: should return true when equal
ok 29 constraint matcher: equals: should return false when not equal
ok 30 nools: flow: should create a flow
ok 31 nools: deleteFlow: should delete a flow by name
ok 32 nools: deleteFlow: should delete a flow using a Flow instance
ok 33 Flow: rule: should create a rule
ok 34 Flow: rule: should create a rule with joins properly
ok 35 Flow: rule: should create a rules that are dependent on eachother properly
ok 36 Flow: simple rule: should call hello world rule
ok 37 Flow: not rule: with a single fact: should call when a string that does not equal 'hello'
ok 38 Flow: not rule: with a single fact: should not call when a string that does equal 'hello'
ok 39 Flow: not rule: with a single fact: should not call when a string that does equal 'hello' and one that does not
ok 40 Flow: not rule: with multiple facts: should fire rules in order
ok 41 Flow: or rule: should call when a string equals 'hello'
ok 42 Flow: or rule: should call when a string equals 'world'
ok 43 Flow: or rule: should not call when a string that does equal 'hello' or 'world
ok 44 Flow: scope option: should call when a string equals 'hello'
ok 45 Flow: scope option: should call when a string equals 'world'
ok 46 Flow: scope option: should not call when a string that does equal 'hello' or 'world
ok 47 Flow: events: should emit when facts are asserted
ok 48 Flow: events: should emit when facts are retracted
ok 49 Flow: events: should emit when facts are modified
ok 50 Flow: events: should emit when rules are fired
ok 51 Flow: matchUntilHalt: should match until halt is called
ok 52 Flow: fibonacci: should calculate fibonacci 3
ok 53 Flow: fibonacci: should calculate fibonacci 4
ok 54 Flow: fibonacci: should calculate fibonacci 5
ok 55 Flow: fibonacci: should calculate fibonacci 6
ok 56 Flow: diagnosis: should treat properly
ok 57 Flow compiled: not rule: should call when a string that does not equal 'hello'
ok 58 Flow compiled: not rule: should not call when a string that does equal 'hello'
ok 59 Flow compiled: not rule: should not call when a string that does equal 'hello' and one that does not
ok 60 Flow compiled: or rule: should call when a string equals 'hello'
ok 61 Flow compiled: scoped functions: should call the scoped function
ok 62 Flow compiled: events: should emit when facts are asserted
ok 63 Flow compiled: events: should emit when facts are retracted
ok 64 Flow compiled: events: should emit when facts are modified
ok 65 Flow compiled: events: should emit when rules are fired
ok 66 Flow compiled: fibonacci nools dsl: should calculate fibonacci 3
ok 67 Flow compiled: fibonacci nools dsl: should calculate fibonacci 4
ok 68 Flow compiled: fibonacci nools dsl: should calculate fibonacci 5
ok 69 Flow compiled: fibonacci nools dsl: should calculate fibonacci 6
ok 70 Flow compiled: diagnosis using dsl: should treat properly
ok 71 nools dsl parser: parsing define: should parse a define statement
ok 72 nools dsl parser: parsing define: global: should parse a function call statement
ok 73 nools dsl parser: parsing define: global: should parse a member look up
ok 74 nools dsl parser: parsing define: global: should parse a strings
ok 75 nools dsl parser: parsing define: global: should parse a boolean
ok 76 nools dsl parser: parsing define: global: should parse numbers
ok 77 nools dsl parser: parsing define: global: should parse a new instantiation
ok 78 nools dsl parser: parsing define: should throw an error when the define block is missing a name
ok 79 nools dsl parser: parsing define: should throw an error for invalid define blocks
ok 80 nools dsl parser: parsing define: should throw an error when the global statement is missing a name
ok 81 nools dsl parser: parsing define: should throw an error when the global statement is missing a ;
ok 82 nools dsl parser: parsing function: should parse a function statement
ok 83 nools dsl parser: parsing function: should throw an error when the function block is missing a name
ok 84 nools dsl parser: parsing function: should throw an error for invalid define blocks
ok 85 nools dsl parser: parsing rules: should parse rules
ok 86 nools dsl parser: parsing rules: should throw an error for invalid rule blocks
ok 87 nools dsl parser: parsing rules: should throw an error for a missing name
ok 88 nools dsl parser: parsing rules: should parse not conditions
ok 89 nools dsl parser: parsing rules: should parse or conditions
ok 90 nools dsl parser: parsing rules: should parse when clause with hash and constraints in any order
ok 91 nools dsl parser: parsing rules: should parse rules with a string name in double quotes
ok 92 nools dsl parser: parsing rules: should parse rules with a string name in single quotes
ok 93 nools dsl parser: parsing rules: should parse rules with a string name with inner strings
ok 94 nools dsl parser: parsing rules: should throw an error for invalid when clauses
ok 95 nools dsl parser: parsing rules: should throw an error for invalid then clauses
ok 96 A Parser: should parse valid string expressions
ok 97 A Parser: should parse valid string expressions with functions
ok 98 A Parser: should parse valid string expressions with property access
ok 99 A Parser: should parse valid string expressions with boolean operators
ok 100 A Parser: should handle operator associativity properly
ok 101 A Parser: should parse arrays
ok 102 A Parser: should parse the in operator
ok 103 A Parser: should parse the notIn operator
ok 104 Rule: createRule: with strings: should create for string
ok 105 Rule: createRule: with strings: should create for String
ok 106 Rule: createRule: with strings: should create for number
ok 107 Rule: createRule: with strings: should create for Number
ok 108 Rule: createRule: with strings: should create for date
ok 109 Rule: createRule: with strings: should create for Date
ok 110 Rule: createRule: with strings: should create for array
ok 111 Rule: createRule: with strings: should create for Array
ok 112 Rule: createRule: with strings: should create for boolean
ok 113 Rule: createRule: with strings: should create for Boolean
ok 114 Rule: createRule: with strings: should create for regexp
ok 115 Rule: createRule: with strings: should create for Regexp
ok 116 Rule: createRule: with strings: should create for object
ok 117 Rule: createRule: with strings: should create for Object
ok 118 Rule: createRule: with strings: should create for hash
ok 119 Rule: createRule: with strings: should create for Hash
ok 120 Rule: createRule: with functions: should create for String function
ok 121 Rule: createRule: with functions: should create for Number function
ok 122 Rule: createRule: with functions: should create for Date function
ok 123 Rule: createRule: wi