Commit Graph

23 Commits

Author SHA1 Message Date
wycats fdc8e425d0 Improve compiling infrastructure, and restore a bit of duplication in spec_helper to make debugging easier in test failures 2010-12-11 18:10:26 -08:00
wycats 35b4d9fd01 linting 2010-12-04 22:26:41 -05:00
wycats 4db1abcd74 Fix up the compilation process 2010-12-04 17:35:36 -05:00
wycats f205cec745 Finish compatibility with the old handlebars:
* foo"bar" is an invalid param
* {{foo}}bar{{/baz}} is invalid
* fix a number of issues with inverse sections
* add partials
2010-12-03 16:49:04 -05:00
wycats 9a6f77af56 A few more lingering bugs:
* add helperMissing.not to the specs
* add Handlebars.Utils.isEmpty
* add runtime handling for inverse sections
* fix __get__ to pass an IdNode to evaluate
* handle case in wrapProgram where context is undefined
2010-12-03 01:39:00 -05:00
wycats c89ecf80a5 Inverse should really be its own node, as it has totally different runtime semantics 2010-12-03 01:10:14 -05:00
wycats 8f6f3051e6 Add support for inverted sections in the parser 2010-12-03 00:54:18 -05:00
wycats 87b526df27 Allow empty blocks. 2010-12-02 01:27:41 -05:00
wycats 762329913d Fix a number of outstanding issues:
* {{}} escape their contents, {{{}}} and {{& }} do not
* Add support in the parser, tokenizer and AST for partials
  with context (support is still not there in the runtime)
* Fix some inconsistencies with the old behavior involving
  the correct printing of null and undefined
* Add Handlebars.Exception
* Fixed an issue involving ./foo and this/foo
* Fleshed out helperMissing in the specs (this will be
  moved out into handlebars proper once registerHelper
  and registerPartial are added)
2010-12-02 01:13:24 -05:00
wycats 9846fb8a28 Got Qunit tests running through RSpec and fixed a bunch of bugs... 33 fails from the original suite to go 2010-11-28 17:36:05 -08:00
wycats 454d0a85b7 Add initial support for blocks 2010-11-26 23:45:38 -08:00
wycats 3b0970d8aa Start working on the runtime 2010-11-25 23:32:32 -08:00
wycats b401fc388b Test the parser, and clean up ID having multiple parts 2010-11-25 23:32:03 -08:00
wycats f8b245896d Make the ID node capable of handling paths
TODO: handle invalid paths in the tokenizer or parser
  TODO: invalidate "{{ foo/ bar }}"
2010-11-25 16:12:50 -08:00
wycats 7d0204bf9f Add some more tests, and properly handle errors across the boundary in tests 2010-11-25 16:09:42 -08:00
wycats 4624eddf0b The tokenizer shouldn't get into an infinite loop in certain termination conditions 2010-11-25 12:46:25 -08:00
wycats 3388962225 Fix the lexer to handle Strings with escaped quotes 2010-11-25 11:54:09 -08:00
wycats 83fa737e04 Add tests for the tokenizer using RubyRacer 2010-11-25 11:53:41 -08:00
wycats 4b2e543d2e Remove node dependency from handlebars.js 2010-11-25 11:52:35 -08:00
wycats 7100563373 Add a Gemfile for testing 2010-11-25 11:51:50 -08:00
wycats d97bc591a2 Restructure files to make more sense in a non-CommonJS world. 2010-11-25 02:49:08 -08:00
wycats 38f8ae84fe Explain something in the lexer 2010-11-25 00:58:42 -08:00
wycats 85fa2cb65f Initial commit. Note that I'm using CommonJS modules and node purely to help me develop this. If this ends up being useful, I will likely distribute the entire package as a single JS file for easier consumption in the browser. 2010-11-25 00:50:57 -08:00