Commit Graph
235 Commits
Author SHA1 Message Date
Justin Hileman 04b016016e Clean up code style, ArrayAccess test.
See #178
2013-12-06 19:45:20 -08:00
Christian Würker 0c85d19509 Allow use of ArrayAccess objects in context. 2013-12-06 19:08:53 -08: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
Amit Snyderman d6e1b45053 Add copyright/license header 2013-09-16 20:17:39 -04:00
Amit Snyderman 37e60df12c Revert timezone edit 2013-09-16 20:14:44 -04:00
Amit Snyderman 8894d68482 Use existing temp directory for test 2013-09-06 09:16:15 -04:00
Amit Snyderman 724cd60cac Restore logging for cache operations
`AbstractCache` exposes the ability to set a logger. Default behavior
automatically passes the logger reference down to the cache, unless a
specific cache instance was provided.
2013-09-05 19:22:13 -04:00
Amit Snyderman 94cd72bfd4 Restore original eval vs. require class loading
Pushing the responsibility of class loading onto the `Mustache_Cache`
implementation and changing the semantics of get/put to load/cache.
2013-09-05 18:56:43 -04:00
Amit Snyderman 60338e4956 Extract cache interface
Refactoring to allow for alternative cache implementations. Includes
implementations for the default noop (i.e. un-cached) behavior and a
filesystem-based cache whose configuration is consistent with the
existing Mustache_Engine constructor.

Includes updated and new tests.
2013-09-05 17:07:38 -04:00
Amit Snyderman 6634f44ca6 Explicitly set timezone to UTC for tests 2013-09-05 14:23:23 -04:00
Justin Hileman 07e96b2a19 Only run partials + lambda indent test on 5.3+ 2013-07-21 13:32:56 -07:00
Justin Hileman 408ff8d345 Add a failing test for #128 2013-07-21 00:48:18 -07:00
mlebrun 339c94b2e1 FilesystemLoader: removed all temp folder logic from testConstructorWithProtocol test.
Conflicts:
	test/Mustache/Test/Loader/FilesystemLoaderTest.php
2013-07-18 21:08:56 -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 87a734e60c Update Compiler for new Parser output. 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 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 c5c36ddd2b Change entity_flags variable names to match PSR-2. 2013-04-27 16:04:05 -07:00
Pixie 311f337856 Allow passing in the $type parameter of htmlspecialchars() 2013-04-27 17:36:51 -05: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 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 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
Matt DeClaire 32b747be5c fix test: a partialLoader should match the loader when neither are specified 2013-03-12 15:19:12 -07:00
Justin Hileman 12d6884b4b Improve test coverage for custom escapers and charsets. 2013-01-26 16:48:35 -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 e5bc8d5edf Add a CascadingLoader implementation. 2013-01-21 10:26:12 -08:00
Justin Hileman b22d15a759 Add an inline template loader.
This loader is awesome for micro-frameworks such as Silex :)
2013-01-21 10:03:57 -08:00
Justin Hileman 8b02366a3f Add test coverage for new exception types. 2013-01-20 10:50:00 -08:00
Justin Hileman 0436c59477 Improve Mustache exception types, catchability.
* Subclass common exception types (runtime, logic, invalid argument).
 * Add new "unknown x" exceptions for filters, helpers and templates.
 * Make all Mustache exceptions implement Mustache_Exception interface… Gotta catch 'em all!
2013-01-20 10:35:55 -08:00
Justin Hileman 1515f5126b Update logger to implement accepted PSR log spec
Add tests!
2013-01-11 22:48:43 -08:00
Justin Hileman 1560863c49 Failing test for empty-string filesystem loader extension.
See #123
2012-11-28 12:58:20 -08:00
Justin Hileman 2872dd5048 Another non-callable test case for good measure 2012-10-01 14:51:15 -07:00
Justin Hileman fc453b5d01 Better filters implementation:
* Throw UnexpectedValueException when unknown
   filter is found.
 * More optimized compiler code.
 * Falsey initial values will still be fed through
   the pipe.
2012-10-01 14:51:15 -07:00
Justin Hileman 1cf44d5de9 First value in the pipe should be interpolated first. 2012-10-01 14:51:15 -07:00
Justin Hileman a64a6f82ee Handle broken pipes 2012-10-01 14:51:15 -07:00
Justin Hileman d209d1aea9 Implement {{% FILTERS }} pragma. 2012-10-01 14:51:14 -07:00
Justin Hileman 277288137b Coding standards fixes. 2012-08-02 10:36:07 -07:00
Justin Hileman cc7d164a42 Coding standards fix. 2012-08-02 10:32:35 -07:00
Justin Hileman 510f6cafd1 Merge branch 'dev' into feature/lambda-helper 2012-08-02 10:03:30 -07:00
Justin Hileman 83cf3158ae Context::find Failing test
Closures don't like it when you touch their properties.
2012-08-01 23:08:17 -07:00
Justin Hileman 169e6e0a1f Fix whitespace in a few test files (PSR-2) 2012-07-27 17:58:55 -07:00
Justin Hileman 52c7ccf1b9 Pass a helper to section lambdas 2012-07-23 11:56:23 -07:00
Justin Hileman 2448992cc8 Update to proposed PSR-1 coding standard.
* 4 space (no tab) indent
 * K&R-style braces
2012-05-01 22:03:39 -07:00
Justin Hileman be5cfb3e9e Rename Mustache_Mustache to Mustache_Engine.
Because the former was just too absurd to keep typing.
2012-05-01 21:30:22 -07:00
Justin Hileman 1ffd7c1a8f Remove some more slashes for 5.2. 2012-05-01 14:25:02 -07:00