Issue #2221535 by Cottser, joelpittet: TwigNodeVisitor's priority is too early and breaks some filters and macros.
parent
e617d17b02
commit
726f41bf4c
|
@ -47,10 +47,9 @@ class TwigNodeVisitor implements \Twig_NodeVisitorInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements Twig_NodeVisitorInterface::getPriority().
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
function getPriority() {
|
function getPriority() {
|
||||||
// We want to run before other NodeVisitors like Escape or Optimizer
|
return 1;
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file
|
||||||
|
* Contains \Drupal\system\Tests\Theme\TwigRawTest.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Drupal\system\Tests\Theme;
|
||||||
|
|
||||||
|
use Drupal\simpletest\WebTestBase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests 'raw' Twig filter.
|
||||||
|
*/
|
||||||
|
class TwigRawTest extends WebTestBase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modules to enable.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
public static $modules = array('twig_theme_test');
|
||||||
|
|
||||||
|
public static function getInfo() {
|
||||||
|
return array(
|
||||||
|
'name' => 'Twig raw filter',
|
||||||
|
'description' => "Tests Twig 'raw' filter.",
|
||||||
|
'group' => 'Theme',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests the raw filter inside an autoescape tag.
|
||||||
|
*/
|
||||||
|
public function testAutoescapeRaw() {
|
||||||
|
$test = array(
|
||||||
|
'#theme' => 'twig_raw_test',
|
||||||
|
'#script' => '<script>alert("This alert is real because I will put it through the raw filter!");</script>',
|
||||||
|
);
|
||||||
|
$rendered = drupal_render($test);
|
||||||
|
$this->drupalSetContent($rendered);
|
||||||
|
$this->assertRaw('<script>alert("This alert is real because I will put it through the raw filter!");</script>');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
{# Template for testing |raw with autoescape. #}
|
||||||
|
{% autoescape %}
|
||||||
|
{{ script|raw }}
|
||||||
|
{% endautoescape %}
|
|
@ -19,6 +19,10 @@ function twig_theme_test_theme($existing, $type, $theme, $path) {
|
||||||
'variables' => array(),
|
'variables' => array(),
|
||||||
'template' => 'twig_namespace_test',
|
'template' => 'twig_namespace_test',
|
||||||
);
|
);
|
||||||
|
$items['twig_raw_test'] = array(
|
||||||
|
'variables' => array('script' => ''),
|
||||||
|
'template' => 'twig-raw-test',
|
||||||
|
);
|
||||||
return $items;
|
return $items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue