Commit Graph
815 Commits
Author SHA1 Message Date
Joyce Babu 6d28b0b28d Prevent array access on null value
Fix 'Trying to access array offset on value of type null' notice on PHP
7.4
2019-11-23 10:45:55 -08:00
Justin Hileman 778906301c Moar PHPs! 2019-11-23 10:31:10 -08:00
Justin Hileman 916b13e060 Fix PHP 5.4 and 5.5 on CI 2019-11-23 10:28:42 -08:00
Justin Hileman 4c28410c3a Let HHVM fail /shrug 2019-07-21 22:34:20 -07:00
Justin Hileman 72d07520ec Improve Tokenizer::scan performance by 98.2%.
- Checking the first character of the opening and closing tags is >90% faster than baseline for my test case.
- Inlining the `tagChange` method is 18% faster than baseline.
- Together they yield a 98.2% wall clock time improvement!

Hat tip to @sam-osborne for the first one :)

https://github.com/mardix/Handlebars/pull/6
2019-07-21 16:02:17 -07:00
Justin Hileman bbb43caa1a Fix delimiter parse error, and throw a syntax error when invalid.
The mustache spec has a test case that _should_ have caught this:

https://github.com/mustache/spec/blob/master/specs/delimiters.yml#L154-L158

... But that test case only tests that an engine recognizes it as a delimiter change tag, not that it ends up changing to the correct delimiters. In our case, we were incorrectly changing to `@` and ` `.

The only "invalid" case I can think of is missing delimiters, which is how that spec test was (incorrectly) parsed. Now it'll enforce that it's always called with *something* that can be used as a delimiter.
2019-07-21 16:02:17 -07:00
Justin Hileman 8e77785883 Merge pull request #333 from Enalean/php-7.2
Run tests against PHP 7.2 on Travis CI
2017-12-08 09:34:05 -08:00
Thomas Gerbet d65edafb85 Run tests against PHP 7.2 on Travis CI
PHP 7.2 has been released as a stable version [1]

[1] https://secure.php.net/archive/2017.php#id2017-11-30-1
2017-12-08 17:19:14 +01:00
Justin Hileman ecb9fb7373 Merge pull request #328 from madflow/patch-1
(chore) Fix the Travis build
2017-09-26 02:26:31 -07:00
madflow d5dbc59a4c (chore) Fix the Travis build 2017-09-25 17:21:12 +02:00
Justin Hileman fe8fe72e9d Merge branch 'release/2.12.0' 2017-07-11 05:54:05 -07:00
Justin Hileman 994abcaf64 Merge branch 'master' into release/2.12.0 2017-07-11 05:53:39 -07:00
Justin Hileman 8c261cf50f Bump to v2.12.0 2017-07-11 05:53:22 -07:00
Justin Hileman 2540de2db2 Minor CS fix. 2017-07-03 00:25:56 -07:00
Justin Hileman 55e6ac81ba Add validation to prevent empty template_class_prefix.
Fixes #298
2017-07-03 00:24:50 -07:00
Justin Hileman 933554098a Improve prod filesystem loader test coverage. 2017-07-03 00:17:31 -07:00
Justin Hileman 7434e97df5 Swallow errors on stat in FilesystemSource. 2017-07-03 00:16:38 -07:00
Justin Hileman 89987ac890 Fix a comment that had become a lie. 2017-07-03 00:16:21 -07:00
Justin Hileman 6a527de467 Mark a few things we can't really get code coverage for. 2017-07-03 00:16:08 -07:00
Justin Hileman 14ff48584a Add an example for anchored dot notation. 2017-07-02 23:50:42 -07:00
Justin Hileman 2b76cbeb66 Remove unused internal compiler arg.
We stopped passing it in 11ad87ae but missed the cleanup.
2017-07-02 22:55:12 -07:00
Justin Hileman 324f1db963 Bump copyright year. 2017-07-02 22:24:03 -07:00
Justin Hileman b9f04e5d26 Custom delimiters tweaks.
* Add basic test for custom delimiters
* Keep default delims backwards compatible
2017-07-02 22:20:51 -07:00
Justin Hileman f459a6ed3f Merge branch 'feature/production-filesystem-loader' into dev 2017-07-02 21:52:07 -07:00
Justin Hileman 556b8e67b8 Clean up Source implementation a bit.
Make it work with new template class name logic.
2017-07-02 21:50:12 -07:00
Justin Hileman 1514e0c2cd Add stat() options to ProductionFilesystemLoader
* By default, continue to use `size` and `mtime` to invalidate template cache
 * Allow overriding to use any properties of `stat()`
 * Allow disabling stat entirely 
 * Add a Big Kid Pants disclaimer if you choose to go down this path
2017-07-02 16:30:46 -07:00
Justin Hileman ca19ba467e Initial production FilesystemSource implementation
See #290
2017-07-02 16:30:46 -07:00
Justin Hileman 31523441e1 Add delimiters option docs. 2017-07-02 14:46:56 -07:00
Justin Hileman ccb2b09317 Update generated class name for delimiters option.
Add some docs there, make it slightly easier to update the generated class name.
2017-07-02 14:39:07 -07:00
Justin Hileman 44489124a1 CS fixes. 2017-07-02 14:39:07 -07:00
Jager Mesh 329146d864 support for delimiters configuration 2017-07-02 14:39:07 -07:00
Justin Hileman b6a480df22 o right, test all the versions we support. 2017-06-29 06:35:34 -07:00
Justin Hileman 9e34408bda Add a failing test case for #322 2017-06-29 06:21:49 -07:00
Justin Hileman 40646e4aea Fix Travis PHP 7 and HHVM builds. 2017-06-29 06:02:16 -07:00
Justin Hileman 09241edd52 Use a local $blocksContext for each parent render.
... rather than a shared one per template / section / block that accidentally keeps old block context around.

Fixes #322
2017-06-29 00:13:59 -07:00
Justin Hileman 44baf86426 Suppress else when rendering empty block defaults. 2017-06-28 23:20:21 -07:00
Justin Hileman bd39afffef Merge pull request #305 from hcpss-banderson/feature/avoid-multuple-autoloaders
Prevent redundant autoloader registerations. Fixes #304
2017-01-05 00:32:42 -08:00
Brendan Anderson 7cb5f3f08f Prevent redundant autoloader registerations. Fixes #304 2017-01-02 10:22:37 -05:00
Justin Hileman 2bdb23db94 Merge branch 'release/2.11.1' into dev 2016-07-30 23:18:43 -07:00
Justin Hileman a3f6d55996 Merge branch 'release/2.11.1' 2016-07-30 23:18:27 -07:00
Justin Hileman 87e87e29fe Bump to v2.11.1 2016-07-30 23:18:19 -07:00
Justin Hileman 0803fa688b Fix test bootstrap in PHP < 5.5 2016-07-30 23:17:51 -07:00
Justin Hileman 94a72ec3d2 Merge branch 'release/2.11.0' into dev 2016-07-30 23:07:58 -07:00
Justin Hileman 789904e952 Merge branch 'release/2.11.0' 2016-07-30 23:07:43 -07:00
Justin Hileman cf4e4c7857 Bump to v2.11.0 2016-07-30 23:07:36 -07:00
Justin Hileman d4bdf110f9 Always check is_dir() and file_exists() with filesystem streams. 2016-07-30 22:59:23 -07:00
Justin Hileman 58f2401d4d Minor code style fixes. 2016-07-30 22:58:58 -07:00
Justin Hileman 18a2adce3d Remove all the extra spaces StyleCI wanted me to add :) 2016-07-30 22:39:43 -07:00
Olav Schettler eeee916433 Protocol-based test with a protocol other than "file://" 2016-07-30 22:38:14 -07:00
Olav Schettler fee4544785 Allow to load non-local templates 2016-07-30 22:38:07 -07:00