Skip to content

Commit 412809f

Browse files
committed
Merge branch '2.7' into 2.8
* 2.7: Ability to set empty version strategy in packages CLI: use request context to generate absolute URLs [SecurityBundle] Optimize dependency injection tests Sort bundles in config commands [HttpFoundation] Do not overwrite the Authorization header if it is already set tag for dumped PHP objects must be a local one
2 parents a867b03 + 254edb4 commit 412809f

File tree

10 files changed

+47
-7
lines changed

10 files changed

+47
-7
lines changed

Command/AbstractConfigCommand.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,13 @@ protected function listBundles($output)
2929
{
3030
$headers = array('Bundle name', 'Extension alias');
3131
$rows = array();
32-
foreach ($this->getContainer()->get('kernel')->getBundles() as $bundle) {
32+
33+
$bundles = $this->getContainer()->get('kernel')->getBundles();
34+
usort($bundles, function($bundleA, $bundleB) {
35+
return strcmp($bundleA->getName(), $bundleB->getName());
36+
});
37+
38+
foreach ($bundles as $bundle) {
3339
$extension = $bundle->getContainerExtension();
3440
$rows[] = array($bundle->getName(), $extension ? $extension->getAlias() : '');
3541
}

DependencyInjection/Configuration.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public function getConfigTreeBuilder()
9999

100100
foreach ($v['templating']['packages'] as $name => $config) {
101101
$v['assets']['packages'][$name] = array(
102-
'version' => (string) $config['version'],
102+
'version' => null === $config['version'] ? null : (string) $config['version'],
103103
'version_format' => $config['version_format'],
104104
'base_path' => '',
105105
'base_urls' => array_values(array_unique(array_merge($config['base_urls']['http'], $config['base_urls']['ssl']))),
@@ -530,7 +530,13 @@ private function addTemplatingSection(ArrayNodeDefinition $rootNode)
530530
->prototype('array')
531531
->fixXmlConfig('base_url')
532532
->children()
533-
->scalarNode('version')->defaultNull()->end()
533+
->scalarNode('version')
534+
->defaultNull()
535+
->beforeNormalization()
536+
->ifTrue(function ($v) { return '' === $v; })
537+
->then(function ($v) { return; })
538+
->end()
539+
->end()
534540
->scalarNode('version_format')->defaultValue('%%s?%%s')->end()
535541
->arrayNode('base_urls')
536542
->performNoDeepMerging()
@@ -589,7 +595,12 @@ private function addAssetsSection(ArrayNodeDefinition $rootNode)
589595
->prototype('array')
590596
->fixXmlConfig('base_url')
591597
->children()
592-
->scalarNode('version')->defaultNull()->end()
598+
->scalarNode('version')
599+
->beforeNormalization()
600+
->ifTrue(function ($v) { return '' === $v; })
601+
->then(function ($v) { return; })
602+
->end()
603+
->end()
593604
->scalarNode('version_format')->defaultNull()->end()
594605
->scalarNode('base_path')->defaultValue('')->end()
595606
->arrayNode('base_urls')

DependencyInjection/FrameworkExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ private function registerAssetsConfiguration(array $config, ContainerBuilder $co
593593

594594
$namedPackages = array();
595595
foreach ($config['packages'] as $name => $package) {
596-
if (null === $package['version']) {
596+
if (!array_key_exists('version', $package)) {
597597
$version = $defaultVersion;
598598
} else {
599599
$format = $package['version_format'] ?: $config['version_format'];

Tests/DependencyInjection/Fixtures/php/assets.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020
'bar' => array(
2121
'base_urls' => array('https://bar2.example.com'),
2222
),
23+
'bar_null_version' => array(
24+
'version' => null,
25+
'base_urls' => array('https://bar3.example.com'),
26+
),
2327
),
2428
),
2529
));

Tests/DependencyInjection/Fixtures/php/legacy_templating_assets.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
'bar' => array(
1919
'base_urls' => array('https://bar2.example.com'),
2020
),
21+
'bar_null_version' => array(
22+
'version' => null,
23+
'base_urls' => array('https://bar3.example.com'),
24+
),
2125
),
2226
),
2327
));

Tests/DependencyInjection/Fixtures/xml/assets.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
<framework:package name="bar">
1919
<framework:base-url>https://bar2.example.com</framework:base-url>
2020
</framework:package>
21+
<framework:package name="bar_null_version" version="">
22+
<framework:base-url>https://bar3.example.com</framework:base-url>
23+
</framework:package>
2124
</framework:assets>
2225
</framework:config>
2326
</container>

Tests/DependencyInjection/Fixtures/xml/legacy_templating_assets.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
<framework:package name="bar">
1919
<framework:base-url>https://bar2.example.com</framework:base-url>
2020
</framework:package>
21+
<framework:package name="bar_null_version" version="">
22+
<framework:base-url>https://bar3.example.com</framework:base-url>
23+
</framework:package>
2124
</framework:templating>
2225
</framework:config>
2326
</container>

Tests/DependencyInjection/Fixtures/yml/assets.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,6 @@ framework:
1414
version_format: %%s-%%s
1515
bar:
1616
base_urls: ["https://bar2.example.com"]
17+
bar_null_version:
18+
version: null
19+
base_urls: "https://bar3.example.com"

Tests/DependencyInjection/Fixtures/yml/legacy_templating_assets.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ framework:
1313
version_format: %%s-%%s
1414
bar:
1515
base_urls: "https://bar2.example.com"
16+
bar_null_version:
17+
version: null
18+
base_urls: "https://bar3.example.com"

Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ private function checkAssetsPackages(ContainerBuilder $container, $legacy = fals
552552

553553
// packages
554554
$packages = $packages->getArgument(1);
555-
$this->assertCount($legacy ? 3 : 4, $packages);
555+
$this->assertCount($legacy ? 4 : 5, $packages);
556556

557557
if (!$legacy) {
558558
$package = $container->getDefinition($packages['images_path']);
@@ -566,7 +566,10 @@ private function checkAssetsPackages(ContainerBuilder $container, $legacy = fals
566566
$this->assertPathPackage($container, $package, '', '1.0.0', '%%s-%%s');
567567

568568
$package = $container->getDefinition($packages['bar']);
569-
$this->assertUrlPackage($container, $package, array('https://bar2.example.com'), $legacy ? '' : 'SomeVersionScheme', $legacy ? '%%s?%%s' : '%%s?version=%%s');
569+
$this->assertUrlPackage($container, $package, array('https://bar2.example.com'), $legacy ? null : 'SomeVersionScheme', $legacy ? '%%s?%%s' : '%%s?version=%%s');
570+
571+
$this->assertEquals($legacy ? 'assets.empty_version_strategy' : 'assets._version__default', (string) $container->getDefinition('assets._package_bar')->getArgument(1));
572+
$this->assertEquals('assets.empty_version_strategy', (string) $container->getDefinition('assets._package_bar_null_version')->getArgument(1));
570573
}
571574

572575
private function assertPathPackage(ContainerBuilder $container, DefinitionDecorator $package, $basePath, $version, $format)

0 commit comments

Comments
 (0)