Commit Graph
100 Commits
Author SHA1 Message Date
Justin Hileman 9dcd8590d1 Merge branch 'release/2.7.0' into dev 2014-08-26 12:50:19 -07:00
Justin Hileman c8e78df703 Bump to v2.7.0 2014-08-26 12:50:01 -07:00
Justin Hileman f34f6699c2 Increase test coverage.
… fix a bug exposed by increased test coverage :-/
2014-08-25 11:18:09 -07:00
Justin Hileman a257fb8acd Require HHVM to pass now.
https://github.com/facebook/hhvm/pull/1860
2014-08-22 22:31:36 -07:00
Justin Hileman 3f492a1bf5 Add a simple FILTERS pragma example.
This includes examples of both section and interpolation filters.
2014-08-22 22:06:02 -07:00
Justin Hileman a8d174a85f DRY. 2014-08-18 20:59:16 -07:00
Justin Hileman 4f73c826ff Ugh. Fix for php-cs-fixer 2014-08-18 20:00:34 -07:00
Justin Hileman 21570bfd4d php-cs-fixer isn’t up to date on PSR-5 draft :) 2014-08-18 18:36:07 -07:00
Justin Hileman 4decec3c0e Reformat code so php-cs-fixer doesn’t keep breaking it. 2014-08-18 18:33:30 -07:00
Justin Hileman 99caf588ab Dry up T_ESCAPED/T_UNESCAPED compiling. 2014-08-18 18:32:27 -07:00
Justin Hileman 58a7726515 Move filter logic from the compiler to the parser. 2014-08-18 18:28:50 -07:00
Justin Hileman d225afe032 Remove unused block arg code. 2014-08-18 18:28:11 -07:00
Justin Hileman 8449681a37 One more unnecessary else/return combo. 2014-08-18 16:58:19 -07:00
Justin Hileman c0bd7efe39 No need for elseif with returns :)
/cc @keradus
2014-08-18 16:56:32 -07:00
Justin Hileman df67052626 Use reference to current stack frame
(saves quite a few array lookups)

See #218
2014-08-18 09:01:57 -07:00
Justin Hileman 3d37a88f0b Replace is_object/is_array with switch on gettype
When checking multiple types, this is ~10% slower in the worst case, and ~30-33% faster for the average and best case.

See #218
2014-08-18 05:00:16 -07:00
Justin Hileman c3e976a328 Merge branch 'fix/nested-partial-whitespace' into dev 2014-08-16 15:41:47 -07:00
Justin Hileman 7800aa8136 Add submodule instructions to CONTRIBUTING.
See #220
2014-08-16 15:38:26 -07:00
Justin Hileman bd3c7798c3 Merge branch 'feature/pragma-blocks' into dev 2014-08-15 23:18:10 -07:00
Justin Hileman 35456764a1 Only pass indent through to standalone nested partials.
Fixes #214
2014-08-07 10:45:33 -07:00
Justin Hileman 5d77f4de9a Move failing nested partial example into a test case.
See #214
2014-08-07 10:40:06 -07:00
Justin Hileman 1fe5b0dfc2 Whoops. Missed some docs and cleanup :) 2014-06-27 00:18:41 -07:00
Justin Hileman 349b58b8ca Throw inheritance behind a BLOCKS pragma.
Update tests, known pragmas, and parsing.
2014-06-26 23:31:41 -07:00
Justin Hileman dd53137ae1 Add missing method docs, minor code cleanup. 2014-06-26 23:05:44 -07:00
Justin Hileman 7aee026403 Add default pragma option to Mustache_Engine.
Pragmas specified in the Mustache_Engine constructor will be enabled in all templates, regardless of the presence of pragma tags in individual templates.
2014-06-26 22:45:23 -07:00
Justin Hileman 4c4c6f156b Merge remote-tracking branch 'jazzdan/dev' into feature/template-inheritance
Conflicts:
	src/Mustache/Compiler.php
	test/Mustache/Test/TokenizerTest.php
2014-06-26 21:51:03 -07:00
Justin Hileman 0eb3e71dc8 Merge branch 'release/2.6.1' into dev 2014-06-20 12:35:59 -07:00
Justin Hileman b1e0a6d607 Bump to v2.6.1 2014-06-20 12:34:43 -07:00
Justin Hileman 8c67a15cf8 Add tag name to mismatched delimiter error message. 2014-06-20 12:30:53 -07:00
Justin Hileman 834e16aacc Add a comment about __call / is_callable
Fixes #199
2014-04-14 21:36:56 -07:00
Justin Hileman 4c83fb0147 Merge branch 'release/2.6.0' into dev 2014-04-13 18:24:55 -07:00
Justin Hileman 003a2ae5e7 Bump to v2.6.0 2014-04-13 18:23:23 -07:00
Justin Hileman c96e985dbf Shiny new shields! 2014-04-13 16:47:55 -07:00
Justin Hileman 0315da508b Again, but with more following the instructions. 2014-03-29 12:26:14 -07:00
Justin Hileman 8f831201bd allow hhvm to fail for now 2014-03-29 10:58:16 -07:00
Justin Hileman d5b1add824 let's try it with *all* the versions! 2014-03-29 10:41:09 -07:00
Justin Hileman b8b156d3cc Refactor to remove strict callables test duplication. 2014-03-25 19:35:56 -07:00
Justin Hileman 125873a8e0 Remove unused $partialData. 2014-03-25 19:28:36 -07:00
Justin Hileman c10c966e60 Refactor to remove duplicate StreamLogger test code 2014-03-25 19:22:34 -07:00
Justin Hileman 402f5013dc Refactor duplication out of Mustache injection test. 2014-03-25 19:16:29 -07:00
Justin Hileman ad0204c372 Combine FiltersTest and SectionFiltersTest
They’re basically duplicates, so this clears up a bunch of code :)
2014-03-25 19:04:48 -07:00
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