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