Justin Hileman
2abbc4b35c
Refactor away engine logger test duplication.
2014-03-25 18:44:58 -07:00
Justin Hileman
0b85c9daff
Refactor out section callback test duplication.
2014-03-25 18:38:21 -07:00
Justin Hileman
ada9876c18
Refactor out test code duplication
...
(enable/disable lambda template cache test)
2014-03-25 18:33:26 -07:00
Justin Hileman
77d99d2bd3
Fix disabling lambda template cache.
...
Because it’s so much awesomer when config options actually do what they say they do.
2014-03-25 18:16:35 -07:00
Justin Hileman
b61af6e4e8
Add (failing) test case for disabling lambda cache.
2014-03-25 18:15:52 -07:00
Justin Hileman
085729aa27
remove old test annotation.
2014-03-25 18:15:31 -07:00
Justin Hileman
fdff8a4d15
Let’s not use Composer’s autoload, since it fails in 5.2
...
This reverts commit af737f4cc7 .
This reverts commit 84a4ff5b16 .
2014-03-25 10:50:43 -07:00
Justin Hileman
af737f4cc7
Fix autoload for Travis
2014-03-25 10:19:55 -07:00
Justin Hileman
de2466864b
Remove redundant documentation.
2014-03-25 09:42:10 -07:00
Justin Hileman
69c1ff9daa
Revert "Reduce Engine constructor complexity."
...
This reverts commit e9d4af3bbe .
2014-03-25 09:36:25 -07:00
Justin Hileman
2bb13b37a4
Minor CS changes.
2014-03-25 09:21:16 -07:00
Justin Hileman
151de6f13e
Extract spec loading code into base test case
2014-03-25 09:20:04 -07:00
Justin Hileman
3d9288dc8e
Extract duplicated tmpdir code into base test case
2014-03-25 08:23:04 -07:00
Justin Hileman
84a4ff5b16
Use Composer autoload for unit tests.
2014-03-25 08:19:46 -07:00
Justin Hileman
e9d4af3bbe
Reduce Engine constructor complexity.
...
I’m not sure I love this. I might prefer the more “complex” version :-/
2014-03-25 07:51:55 -07:00
Justin Hileman
b3e3e0a27a
Gah. Fix broken lambda tests.
...
This is what I get for blindly following code sniff recommendations.
2014-03-25 07:49:02 -07:00
Justin Hileman
8debbd58bb
Remove some dead code.
2014-03-25 07:31:22 -07:00
Justin Hileman
a2ca330cba
Fix missing properties.
2014-03-25 07:31:04 -07:00
Justin Hileman
f696e7afa6
Fix incorrect or missing type annotations.
2014-03-25 07:31:04 -07:00
Justin Hileman
22a47452da
How embarrassing.
...
I keep writing 2013 on my copyright notices.
2014-03-13 22:34:44 -07:00
Justin Hileman
1d8db69fb6
line numbers are numbers, not strings.
2014-02-20 10:31:41 -08:00
Justin Hileman
e00bebd141
Override encoding to improve tokenizer performance
...
Speeds up tokenizing by ~15% for most users, and by 50% for users with mbstring.func_overload set!
See #144
2014-02-20 09:53:06 -08:00
Justin Hileman
6215e6b1b1
Store otag/ctag lengths rather than recomputing.
...
~15% tokenizing performance boost. 99% reduction in strlen calls :)
2014-02-20 09:53:06 -08:00
Justin Hileman
d534b168a0
Clean up comment code block style.
2014-02-20 09:53:06 -08:00
Justin Hileman
b84e9deec8
Merge branch 'hotfix/2.5.1' into dev
2014-01-08 16:36:44 -08:00
Justin Hileman
39dc20e691
Version bump v2.5.1
2014-01-08 16:36:02 -08:00
Justin Hileman
aa77e3bfd9
Ugh PHP.
...
Fixes #183
2014-01-08 16:33:33 -08:00
Justin Hileman
f1d3955492
Add a failing test for #183
...
Tokenization error for sections with only “0” in them.
2014-01-08 16:28:55 -08:00
Justin Hileman
49eb190c42
Merge branch 'release/2.5.0' into dev
2013-12-14 12:58:49 -08:00
Justin Hileman
dd528e765a
Merge branch 'release/2.5.0'
2013-12-14 12:57:43 -08:00
Justin Hileman
bd2a1fa492
Bump to v2.5.0
2013-12-14 12:57:36 -08:00
Justin Hileman
a467124a46
Improve test coverage.
2013-12-14 12:50:51 -08:00
Justin Hileman
3a9a8bde36
Update bin/build_bootstrap.php for Cache classes.
2013-12-14 12:37:05 -08:00
Justin Hileman
e24f5c744a
Minor docblock updates.
2013-12-14 12:36:47 -08:00
Justin Hileman
77b88cd74f
Fix param names in NoopCache.
2013-12-14 12:29:56 -08:00
Justin Hileman
2b5d9e5f39
Add 'cache_lambda_templates' config option.
...
Stop caching lambda templates by default, as they are generally too dynamic. Make lambda template caching an explicit opt-in. This will prevent filling cache directories with unusable files, and will actually speed things up the first time any given lambda template is used.
Fixes #180
2013-12-14 11:50:57 -08:00
Justin Hileman
6b7f33c78d
Add passthrough optimization for lambda sections.
...
Higher order sections which return mustache-free strings don’t need to be re-parsed, compiled and rendered. Just use the string, silly!
Fixes #141
2013-12-14 10:45:17 -08:00
Justin Hileman
e739e216a6
Implement section (and inverted section) filters.
...
This is a super powerful construct. It's also prolly a violation of the "logic-less-ness" of Mustache templates :(
2013-12-06 20:05:20 -08:00
Justin Hileman
38b6b245b1
Fix ArrayAccess priority:
...
* Methods brump properties and ArrayAccess
* Properties beat ArrayAccess
* ArrayAccess beats nothing at all
* ArrayAccess also beats private properties
Add a test case to verify.
See #178
2013-12-06 19:45:28 -08:00
Justin Hileman
04b016016e
Clean up code style, ArrayAccess test.
...
See #178
2013-12-06 19:45:20 -08:00
Justin Hileman
0e1d5a678f
Add PHP 5.5 to Travis config
2013-12-05 08:04:51 -08:00
Justin Hileman
b6d6a720a0
Fix docblock param order.
...
It’s been backwards since #148 . Whoops :)
2013-12-05 07:04:22 -08:00
Justin Hileman
e388a3ca7f
Fix for nested partials indenting.
...
Fixes #167
2013-09-26 09:48:56 -07:00
Justin Hileman
44b60e1bb8
Add a failing test for #167
...
Multiple levels of nested partials are only indented to the level of the first partial.
2013-09-26 09:48:29 -07:00
Justin Hileman
cb2a6b5a03
Clean up comments, standardize whitespace.
2013-09-18 23:49:44 -07:00
Justin Hileman
0d161cc7d2
Bump copyright dates.
2013-09-18 12:10:17 -07:00
Justin Hileman
a4ab23471c
Merge branch 'release/2.4.1' into dev
2013-08-12 21:49:31 -07:00
Justin Hileman
14bc3b4f6a
Merge branch 'release/2.4.1'
2013-08-12 21:49:23 -07:00
Justin Hileman
e3cbc253c3
Bump version for 2.4.1
2013-08-12 21:49:14 -07:00
Justin Hileman
f968f5fdcb
Add PHPUnit dev dependency.
2013-08-07 17:44:51 -07:00
Justin Hileman
75b56da0c5
markdown -> md
2013-08-05 16:04:50 -07:00
Justin Hileman
a8bd6a6cf6
Move realpath call into constructor
...
Add an is_dir check, because realpath fails with things like stream wrappers
2013-08-04 12:16:18 -07:00
Justin Hileman
35ad7f961e
Merge remote-tracking branch 'mirkolofio/master' into dev
2013-08-04 12:07:25 -07:00
Justin Hileman
07e96b2a19
Only run partials + lambda indent test on 5.3+
2013-07-21 13:32:56 -07:00
Justin Hileman
1c945926bd
Fix indents in lambda sections inside indented partials.
...
Fixes #128
2013-07-21 00:49:10 -07:00
Justin Hileman
408ff8d345
Add a failing test for #128
2013-07-21 00:48:18 -07:00
Justin Hileman
65de52c7db
Merge branch 'release/2.4.0' into dev
2013-07-17 22:27:30 -07:00
Justin Hileman
6cd3145073
Merge branch 'release/2.4.0'
2013-07-17 22:23:52 -07:00
Justin Hileman
48cf4c178c
Bump version for 2.4.0
2013-07-17 22:23:40 -07:00
Justin Hileman
1d21de63d6
Trailing slash test fix.
...
I suppose it would help if I didn't realpath the thing I was testing for realpathness
2013-07-15 18:11:36 -04:00
Justin Hileman
911151ad78
Looks like we don’t need that rtrim() after all.
...
(+ a test, confirming)
2013-07-15 18:08:24 -04:00
Justin Hileman
287d2f74a8
Merge branch 'feature/whitespace-tokenizing' into dev
2013-06-25 08:43:00 -07:00
Justin Hileman
87a734e60c
Update Compiler for new Parser output.
2013-05-15 13:37:05 -07:00
Justin Hileman
8f5be9e470
Add standalone line whitespace handling to Parser.
2013-05-15 13:37:05 -07:00
Justin Hileman
de9941d271
Ensure that delimiter changes appear in token list.
2013-05-15 13:37:05 -07:00
Justin Hileman
4588e04365
No need to loop through pragma tokens twice.
...
Add them directly to the token list as soon as they are tokenized.
2013-05-15 13:37:05 -07:00
Justin Hileman
32461bfb48
Track line number in Tokenizer
...
(needed for standalone line filtering via Parser)
2013-05-15 13:37:05 -07:00
Justin Hileman
b77d2f308e
Remove "standalone tag" filtering from Tokenizer.
2013-05-15 13:37:05 -07:00
Justin Hileman
4112bcc3f7
Fix doc comment on inline loader.
2013-05-15 13:36:46 -07:00
Justin Hileman
0564df9651
Add missing comments for pragma tokenizing.
2013-05-12 21:49:36 -07:00
Justin Hileman
697f4ac26b
Use a raw array for Parser::buildTree
...
Improve memory usage by ~15% for very large templates.
2013-05-11 22:32:42 -07:00
Justin Hileman
ade0b98761
Remove unnecessary leading slashes.
2013-05-10 17:24:53 -07:00
Justin Hileman
c5c36ddd2b
Change entity_flags variable names to match PSR-2.
2013-04-27 16:04:05 -07:00
Justin Hileman
c6c480013a
Merge branch 'release/2.3.1' into dev
2013-04-25 08:25:08 -07:00
Justin Hileman
3ef28e14e3
Merge branch 'release/2.3.1'
2013-04-25 08:23:30 -07:00
Justin Hileman
afc20ae1e2
Bump to v2.3.1
2013-04-25 08:23:21 -07:00
Justin Hileman
2327f3839f
Fix tokenizing when mbstring.func_overload enabled.
...
Fixes #144
2013-04-24 09:24:27 -07:00
Justin Hileman
5d186b134b
Fix this mention too :)
2013-04-23 21:14:37 -07:00
Justin Hileman
3fb7fdc2ac
Update docs, variable name for render passthrough.
2013-04-23 21:13:39 -07:00
Justin Hileman
9e5ef08fbf
Reformat LICENSE file.
2013-04-15 19:51:41 -07:00
Justin Hileman
e5da080ef4
Merge branch 'release/2.3.0' into dev
2013-04-01 20:56:37 -07:00
Justin Hileman
fb5e4ecb30
Merge branch 'release/2.3.0'
2013-04-01 20:56:30 -07:00
Justin Hileman
0f1fc69e5c
Bump to v2.3.0
2013-04-01 20:50:30 -07:00
Justin Hileman
723ac37053
s/an/a/
2013-03-28 16:48:00 -04:00
Justin Hileman
01d413de0d
Merge branch 'hotfix/2.2.0' into dev
...
Conflicts:
src/Mustache/Compiler.php
src/Mustache/Engine.php
2013-03-25 09:12:36 -07:00
Justin Hileman
f0eb5091e2
Merge branch 'hotfix/2.2.0'
2013-03-25 09:03:00 -07:00
Justin Hileman
934a5495bb
Bump Genghis version.
2013-03-25 09:02:46 -07:00
Justin Hileman
c160134b6d
Add a 'strict_callables' option to Mustache_Engine
...
Prevents treating array('ClassName', 'methodName') or array($instance, 'methodName') as section or interpolation callables. This helps protect against arbitrary code evaluation when user input is passed directly into the template.
This setting is recommended for PHP 5.3+, and all PHP 5.2 projects not using section or interpolation lambdas.
The default value is false to preserve backwards compatibility.
See #138
2013-03-23 10:54:13 -07:00
Justin Hileman
7fb7758178
Include header in generated bootstrap files.
2013-03-12 16:40:36 -07:00
Justin Hileman
32a397f93d
Remove unused submodule.
2013-03-12 16:20:02 -07:00
Justin Hileman
ca44ef68f8
Move loader cascading into the loadPartial method.
...
This means the `partialsLoader` property is never set to the default loader, fixing things like `setPartials`, but template loading cascades as per the spec.
Add test coverage for partial cascading.
2013-03-12 16:03:58 -07:00
Justin Hileman
72007e65b4
Simplify setPartials nested ifs.
2013-03-12 15:29:18 -07:00
Justin Hileman
12d6884b4b
Improve test coverage for custom escapers and charsets.
2013-01-26 16:48:35 -08:00
Justin Hileman
c75b4c2e0b
Fix compiled templates' PSR-2 compliance.
2013-01-26 16:34:16 -08:00
Justin Hileman
d5e199b3b9
Update build_bootstrap with all the new classes!
2013-01-26 16:25:57 -08:00
Justin Hileman
a777c587f2
Add resolveValue method to base Template.
...
DRYs up compiled class output a bit and makes things FASTER!
Speeds up value resolution by 33% for primitives, 25% for methods and properties, and 10% for lambdas.
2013-01-26 16:19:06 -08:00
Justin Hileman
cf76a4b8f9
Remove unused escape param from renderInternal
2013-01-26 14:49:14 -08:00
Justin Hileman
05e527fe21
Don't instantiate a LambdaHelper for classes with no Lambdas :)
2013-01-26 14:36:24 -08:00
Justin Hileman
38453d0eac
Merge remote-tracking branch 'rothshahar/patch-1' into dev
2013-01-24 16:45:04 -08:00
Justin Hileman
b1ca6f3cae
Update Lambda Helper docblock. It was a lie.
2013-01-23 06:24:15 -08:00