Commit Graph

3569 Commits

Author SHA1 Message Date
Fabien Potencier f5596be101 Merge branch '1.x' into 2.x
* 1.x:
  updated CHANGELOG
  Call clearstatcache() before calling is_dir().
  bumped version to 1.33
  fixed CHANGELOG
  Make "length" filter and "empty" test consider __toString [Twig 1.x]
2017-03-22 08:12:17 -07:00
Fabien Potencier 82ff9d6bb4 updated CHANGELOG 2017-03-22 08:06:31 -07:00
Fabien Potencier eaf6a3000d bug #2262 Call clearstatcache() before calling is_dir(). (hanabokuro)
This PR was submitted for the master branch but it was merged into the 1.x branch instead (closes #2262).

Discussion
----------

Call clearstatcache() before calling is_dir().

The result of is_dir() is cached.
So call clearstatcache() before calling 2nd is_dir().

Commits
-------

96638c0d Call clearstatcache() before calling is_dir().
2017-03-22 08:05:13 -07:00
Shigeki Morimoto 96638c0da6 Call clearstatcache() before calling is_dir(). 2017-03-22 08:05:13 -07:00
Fabien Potencier 5040e38885 bumped version to 1.33 2017-03-22 07:48:20 -07:00
Fabien Potencier 8441aaab03 fixed CHANGELOG 2017-03-22 07:47:32 -07:00
Fabien Potencier f8d4c096ae feature #2420 Make "length" filter and "empty" test consider __toString [Twig 1.x] (mpdude)
This PR was squashed before being merged into the 1.x branch (closes #2420).

Discussion
----------

Make "length" filter and "empty" test consider __toString [Twig 1.x]

Use case: When you have variables in your views that are actually objects but implement `__toString`, they feel like strings: For example, `{{ something }}` will make use of that to-string-conversion.

What does *not* work is

**a)** `{{ something | length }}`, because that will only have a meaningful return value for objects implementing `\Countable`. This interface, however, may have a totally different semantic/purpose for the object in question.

**b)** `{% if something is empty %}`, because

> empty checks if a variable is an empty string, an empty array, an empty hash, exactly false, or exactly null  `[http://twig.sensiolabs.org/doc/2.x/tests/empty.html]`

... and obviously `something !== null` in this case.

For template designers, this may be surprising if they don't actually care about the object-or-string difference, they just "use" the variable.

This change tries to address this as it changes the behavior for  such objects that have a `__toString` method and are *not* `\Countable`.

*Yes*, it's a BC break in edge cases:

For a), objects that implement a `__toString` but not `\Countable` would previously yield `1` for `{{ object | length }}`, and now would return the length of the string returned by `__toString`.

For b), testing (defined) variables that are objects implementing  `__toString` and that return `''`,  the test now is `false`.

Commits
-------

f5193e92 Make "length" filter and "empty" test consider __toString [Twig 1.x]
2017-03-22 07:45:54 -07:00
Matthias Pigulla f5193e92c5 Make "length" filter and "empty" test consider __toString [Twig 1.x] 2017-03-22 07:33:03 -07:00
Fabien Potencier 4d40c66dbc Merge branch '1.x' into 2.x
* 1.x:
  fixed risky tests
2017-03-20 09:12:13 -07:00
Fabien Potencier 98f0d2b128 minor #2429 fixed risky tests (fabpot)
This PR was merged into the 1.x branch.

Discussion
----------

fixed risky tests

Commits
-------

7259e52f fixed risky tests
2017-03-20 08:49:31 -07:00
Fabien Potencier 7259e52fa4 fixed risky tests 2017-03-20 08:35:32 -07:00
Fabien Potencier 563f6d0de4 Merge branch '1.x' into 2.x
* 1.x:
  Fixed JS escaping for unicode characters with higher code points
2017-03-17 10:22:07 -07:00
Fabien Potencier ae2d59da05 bug #2427 Fixed JS escaping for unicode characters with higher code points (mikealmond)
This PR was submitted for the 2.x branch but it was merged into the 1.x branch instead (closes #2427).

Discussion
----------

Fixed JS escaping for unicode characters with higher code points

Unicode characters with higher code points were being escaped incorrectly. When these characters are escaped, they should maintain their surrogate halves. Previously, Twig was dropping the first surrogate half.

https://mathiasbynens.be/notes/javascript-escapes#unicode-code-point
> The tetragram for centre symbol (𝌆) has code point U+1D306, so you could write it as \u{1D306}. For comparison, if you were to use simple Unicode escapes to represent this symbol, you’d have to write out the surrogate halves separately: '\uD834\uDF06'.

Commits
-------

7f913495 Fixed JS escaping for unicode characters with higher code points
2017-03-17 10:19:15 -07:00
Mike Almond 7f9134952d Fixed JS escaping for unicode characters with higher code points 2017-03-17 10:19:06 -07:00
Fabien Potencier ea2ca30d00 Merge branch '1.x' into 2.x
* 1.x:
  Updated the vim-twig link
  PHPUnit 6 compatability
  Fix codeblock
  Update Compiler.php
2017-03-12 08:30:20 -07:00
Fabien Potencier c5ba65ca44 minor #2422 Updated the vim-twig link (InFog)
This PR was submitted for the 2.x branch but it was merged into the 1.x branch instead (closes #2422).

Discussion
----------

Updated the vim-twig link

The other project is not maintained anymore and the author recommends this fork.

Commits
-------

955d5abd Updated the vim-twig link
2017-03-12 08:19:55 -07:00
Evaldo Junior 955d5abd92 Updated the vim-twig link
The other project is not maintained anymore and the author recommends this fork.
2017-03-12 08:19:54 -07:00
Fabien Potencier 3fddfd41d0 minor #2423 PHPUnit 6 compatability (xabbuh)
This PR was merged into the 1.x branch.

Discussion
----------

PHPUnit 6 compatability

This should make builds on Traivs CI green again.

Commits
-------

0d791de6 PHPUnit 6 compatability
2017-03-12 08:17:33 -07:00
Christian Flothmann 0d791de63d PHPUnit 6 compatability 2017-03-11 20:03:13 +01:00
Fabien Potencier 261c4ec92d bug #2415 Add error message when calling parent() in a block that doesn't exist (pierredup)
This PR was squashed before being merged into the 2.x branch (closes #2415).

Discussion
----------

Add error message when calling parent() in a block that doesn't exist

Related: #2309

When calling `parent()` in a block that isn't defined in the parent template, you get an error message that states `Block "%s" on template "%s" does not exist`, even if the block is wrapped in an `is defined` check, which is confusing and makes debugging hard.

This fix adds a better error message indicating that you should not call `parent()` when the parent block is not defined.

Before:
![screen shot 2017-03-08 at 08 08 38](https://cloud.githubusercontent.com/assets/144858/23693410/0e476242-03dd-11e7-9621-4442bdc6bf05.png)

After:
![screen shot 2017-03-08 at 08 56 18](https://cloud.githubusercontent.com/assets/144858/23693424/234d9c2e-03dd-11e7-8d07-4e277d80f7e4.png)

Commits
-------

4587f676 Add error message when calling parent() in a block that doesn't exist
2017-03-10 08:55:37 -08:00
Pierre du Plessis 4587f67621 Add error message when calling parent() in a block that doesn't exist 2017-03-10 08:55:35 -08:00
Fabien Potencier efb110d3d0 minor #2421 Fix codeblock in recipes documentation (aaa2000)
This PR was submitted for the 2.x branch but it was merged into the 1.x branch instead (closes #2421).

Discussion
----------

Fix codeblock in recipes documentation

Commits
-------

adba4c2a Fix codeblock
2017-03-10 08:51:30 -08:00
aaa2000 adba4c2a2b Fix codeblock 2017-03-10 08:51:30 -08:00
Fabien Potencier 4b2e9ef2a7 bug #2417 Compiler - setlocale must be a string (SpacePossum)
This PR was merged into the 1.x branch.

Discussion
----------

Compiler - setlocale must be a string

Following the docs of [setlocale](http://php.net/manual/en/function.setlocale.php) the second argument must be a `string`, `null` or an `array`. Special note about "0" is there as well.

closes https://github.com/twigphp/Twig/issues/2416

Commits
-------

9de41cfe Update Compiler.php
2017-03-08 09:45:58 -08:00
SpacePossum 9de41cfed9 Update Compiler.php 2017-03-08 18:10:11 +01:00
Fabien Potencier 82004b85f8 bug #2384 Fix undef. source in exception. (SpacePossum)
This PR was merged into the 2.x branch.

Discussion
----------

Fix undef. source in exception.

closes https://github.com/twigphp/Twig/issues/2383

Two things:
- the tests fails without a corrupt cache, so maybe the message is of or the cache generation is off (i.e. not respecting the `$index`)
- passing the `$source` seems superfluous (but maybe that is only the case in the exception message)

Commits
-------

772373cf Fix undef. source in exception.
2017-03-05 13:51:23 -08:00
Fabien Potencier 31bf7951fd bumped version to 2.2.1-DEV 2017-02-26 16:17:12 -08:00
Fabien Potencier 29bb02dde0 prepared the 2.2.0 release v2.2.0 2017-02-26 16:16:20 -08:00
Fabien Potencier d37b38d79b Merge branch '1.x' into 2.x
* 1.x:
  bumped version to 1.32.1-DEV
  prepared the 1.32.0 release
  udpated CHANGELOG
  improved some tests
  removed trailing space
2017-02-26 16:08:51 -08:00
Fabien Potencier 27d7ea9675 bumped version to 1.32.1-DEV 2017-02-26 16:07:56 -08:00
Fabien Potencier 9935b662e2 prepared the 1.32.0 release v1.32.0 2017-02-26 16:07:03 -08:00
Fabien Potencier 48e17f7c63 udpated CHANGELOG 2017-02-26 15:19:41 -08:00
Fabien Potencier b0ec8390f8 improved some tests 2017-02-23 06:58:09 -08:00
Fabien Potencier 8ff73ca55b removed trailing space 2017-02-23 06:56:46 -08:00
Fabien Potencier 4569e476a8 Merge branch '1.x' into 2.x
* 1.x:
  fixed CS
  #1802 left/right trim
2017-02-23 06:55:46 -08:00
Fabien Potencier af0d787c43 fixed CS 2017-02-23 06:54:27 -08:00
Fabien Potencier c84a511f52 feature #2403 #1802 left/right trim (antonydandrea)
This PR was submitted for the 2.x branch but it was merged into the 1.x branch instead (closes #2403).

Discussion
----------

#1802 left/right trim

It was said in this thread that there was a preference of adding parameters to the trim filter in order to implement this.

So this feature works like:

trim(character_mask, mode), where mode is either "both", "left" or "right". It is by default "both".

This is my first pull request of this project, so I apologise in advance if something is wrong.

Commits
-------

7d8e7550 #1802 left/right trim
2017-02-23 06:52:12 -08:00
Antony D'Andrea 7d8e75504c #1802 left/right trim 2017-02-23 06:52:03 -08:00
Fabien Potencier 236c429ee0 Merge branch '1.x' into 2.x
* 1.x:
  added some missing tests
2017-02-21 18:52:53 -08:00
Fabien Potencier 30085c5e78 bug #2407 added some missing tests (fabpot)
This PR was merged into the 1.x branch.

Discussion
----------

added some missing tests

Commits
-------

236c1bdc added some missing tests
2017-02-21 18:52:36 -08:00
Fabien Potencier 236c1bdc32 added some missing tests 2017-02-21 18:49:28 -08:00
Fabien Potencier 39c74d99db Merge branch '1.x' into 2.x
* 1.x:
  Fix tokenize call in DeprecationCollector
2017-02-21 08:25:58 -08:00
Fabien Potencier bb3f4d6183 bug #2406 Fix tokenize call in DeprecationCollector (vdechenaux)
This PR was submitted for the 2.x branch but it was merged into the 1.x branch instead (closes #2406).

Discussion
----------

Fix tokenize call in DeprecationCollector

Hi,

if fixes `Argument 1 passed to Twig_Environment::tokenize() must be an instance of Twig_Source, string given`

Commits
-------

13ca97c1 Fix tokenize call in DeprecationCollector
2017-02-21 07:46:47 -08:00
Vincent Dechenaux 13ca97c16f Fix tokenize call in DeprecationCollector 2017-02-21 07:46:38 -08:00
Fabien Potencier 3cf0ac46f4 tweaked docs 2017-02-17 11:35:58 -08:00
Fabien Potencier 764927d0df updated tests for PHP 7+ 2017-02-17 11:34:19 -08:00
Fabien Potencier a818ab3ac3 bumped version to 2.2 2017-02-17 11:33:43 -08:00
Fabien Potencier 9578c35227 Merge branch '1.x' into 2.x
* 1.x:
  fixed tests for PHP 5.2
  fixed tests for PHP 5.2
  fixed tests for PHP 5.2
  Fix typo in test filename
  added a note in the docs about the PSR-11 runtime loader
  fixed typo
  updated CHANGELOG
  bumped version to 1.32
  Add ContainerRuntimeLoader
  tweaked docs
  Update striptags.rst
  fixed CS
  Mention autoescape=true deprecation (issue #2386)
  Fix typo.
  bumped version to 1.31.1-DEV
  prepared the 1.31.0 release
  added a note about macros usage in the deprecated docs
2017-02-17 11:32:53 -08:00
Fabien Potencier b6a16a21f9 fixed tests for PHP 5.2 2017-02-17 11:29:51 -08:00
Fabien Potencier 7f9928d85c minor #2402 Fix typo in test filename (chalasr)
This PR was merged into the 1.x branch.

Discussion
----------

Fix typo in test filename

Commits
-------

e5860f1f Fix typo in test filename
2017-02-17 11:27:19 -08:00