Skip to content

Commit ef7ddb2

Browse files
committed
minor #1069 Fixing various tests and deprecations (weaverryan)
This PR was squashed before being merged into the 2.x branch. Discussion ---------- Fixing various tests and deprecations | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | Tickets | None | License | MIT Hi! This fixes various deprecations and some tests due to upstream changes. Cheers! Commits ------- 78f05d0 Fixing various tests and deprecations
2 parents 02d661b + 78f05d0 commit ef7ddb2

File tree

14 files changed

+94
-38
lines changed

14 files changed

+94
-38
lines changed

.github/workflows/test-turbo.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,5 @@ jobs:
9292
- name: Run tests
9393
working-directory: src/Turbo
9494
run: vendor/bin/simple-phpunit
95+
env:
96+
SYMFONY_DEPRECATIONS_HELPER: 'max[self]=1'

src/Cropperjs/tests/Form/CropperTypeTest.php

Lines changed: 12 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,13 @@ public function testRenderFull()
4444

4545
$rendered = $container->get(Environment::class)->render('cropper_form.html.twig', ['form' => $form->createView()]);
4646

47-
$this->assertSame(
48-
'<form name="form" method="post">'.
49-
'<div id="form">'.
50-
'<div>'.
51-
'<div id="form_photo" class="cropperjs">'.
52-
'<input type="hidden" id="form_photo_options" name="form[photo][options]" '.
53-
'data-controller="mycropper symfony--ux-cropperjs--cropper" '.
54-
'data-symfony--ux-cropperjs--cropper-public-url-value="/public/url.jpg" '.
55-
'data-symfony--ux-cropperjs--cropper-options-value="{&quot;viewMode&quot;:1,&quot;dragMode&quot;:&quot;move&quot;}" />'.
56-
'</div>'.
57-
'</div>'.
58-
'</div>'.
59-
'</form>
60-
',
61-
str_replace(' >', '>', $rendered)
47+
$this->assertStringContainsString('<div id="form_photo" class="cropperjs">', $rendered);
48+
$this->assertStringContainsString(
49+
'<input type="hidden" id="form_photo_options" name="form[photo][options]" '.
50+
'data-controller="mycropper symfony--ux-cropperjs--cropper" '.
51+
'data-symfony--ux-cropperjs--cropper-public-url-value="/public/url.jpg" '.
52+
'data-symfony--ux-cropperjs--cropper-options-value="{&quot;viewMode&quot;:1,&quot;dragMode&quot;:&quot;move&quot;}"',
53+
$rendered,
6254
);
6355
}
6456

@@ -78,20 +70,11 @@ public function testRenderNoOptions()
7870

7971
$rendered = $container->get(Environment::class)->render('cropper_form.html.twig', ['form' => $form->createView()]);
8072

81-
$this->assertSame(
82-
'<form name="form" method="post">'.
83-
'<div id="form">'.
84-
'<div>'.
85-
'<div id="form_photo" class="cropperjs">'.
86-
'<input type="hidden" id="form_photo_options" name="form[photo][options]" '.
87-
'data-controller="mycropper symfony--ux-cropperjs--cropper" '.
88-
'data-symfony--ux-cropperjs--cropper-public-url-value="/public/url.jpg" '.
89-
'data-symfony--ux-cropperjs--cropper-options-value="[]" />'.
90-
'</div>'.
91-
'</div>'.
92-
'</div>'.
93-
'</form>
94-
',
73+
$this->assertStringContainsString(
74+
'<input type="hidden" id="form_photo_options" name="form[photo][options]" '.
75+
'data-controller="mycropper symfony--ux-cropperjs--cropper" '.
76+
'data-symfony--ux-cropperjs--cropper-public-url-value="/public/url.jpg" '.
77+
'data-symfony--ux-cropperjs--cropper-options-value="[]"',
9578
str_replace(' >', '>', $rendered)
9679
);
9780
}

src/Cropperjs/tests/Kernel/FrameworkAppKernel.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,21 @@ public function registerBundles(): iterable
3434
public function registerContainerConfiguration(LoaderInterface $loader)
3535
{
3636
$loader->load(function (ContainerBuilder $container) {
37-
$container->loadFromExtension('framework', ['secret' => '$ecret', 'test' => true]);
37+
$frameworkConfig = [
38+
'secret' => '$ecret',
39+
'test' => true,
40+
'http_method_override' => false,
41+
'php_errors' => ['log' => true],
42+
'validation' => [
43+
'email_validation_mode' => 'html5',
44+
],
45+
];
46+
47+
if (self::VERSION_ID >= 60200) {
48+
$frameworkConfig['handle_all_throwables'] = true;
49+
}
50+
51+
$container->loadFromExtension('framework', $frameworkConfig);
3852
});
3953
}
4054
}

src/Cropperjs/tests/Kernel/TwigAppKernel.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,21 @@ public function registerBundles(): iterable
3737
public function registerContainerConfiguration(LoaderInterface $loader)
3838
{
3939
$loader->load(function (ContainerBuilder $container) {
40-
$container->loadFromExtension('framework', ['secret' => '$ecret', 'test' => true, 'http_method_override' => false]);
40+
$frameworkConfig = [
41+
'secret' => '$ecret',
42+
'test' => true,
43+
'http_method_override' => false,
44+
'php_errors' => ['log' => true],
45+
'validation' => [
46+
'email_validation_mode' => 'html5',
47+
],
48+
];
49+
50+
if (self::VERSION_ID >= 60200) {
51+
$frameworkConfig['handle_all_throwables'] = true;
52+
}
53+
54+
$container->loadFromExtension('framework', $frameworkConfig);
4155
$container->loadFromExtension('twig', ['default_path' => __DIR__.'/templates', 'strict_variables' => true, 'exception_controller' => null]);
4256

4357
// create a public alias - FormFactoryInterface is removed otherwise

src/LiveComponent/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
## 2.11.0
44

55
- Add helper for testing live components.
6+
- Add initial file upload support.
7+
- Respect `data-turbo="false"` when handling redirects.
8+
- Fix checksum calculation for deeply nested data.
69

710
## 2.9.0
811

src/StimulusBundle/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"twig/twig": "^2.15.3|^3.4.3"
2222
},
2323
"require-dev": {
24-
"symfony/asset-mapper": "6.3.x-dev",
24+
"symfony/asset-mapper": "^6.3",
2525
"symfony/framework-bundle": "^5.4|^6.0",
2626
"symfony/phpunit-bridge": "^5.4|^6.0",
2727
"symfony/twig-bundle": "^5.4|^6.0",

src/StimulusBundle/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,8 @@
3131
<listeners>
3232
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener"/>
3333
</listeners>
34+
35+
<extensions>
36+
<extension class="Zenstruck\Browser\Test\BrowserExtension" />
37+
</extensions>
3438
</phpunit>

src/StimulusBundle/tests/fixtures/StimulusTestKernel.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ protected function configureContainer(ContainerConfigurator $container): void
5757
],
5858
],
5959
'test' => true,
60+
'handle_all_throwables' => true,
61+
'php_errors' => ['log' => true],
6062
]);
6163

6264
$container->extension('twig', [

src/TogglePassword/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# CHANGELOG
2+
3+
## 2.11.0
4+
5+
- Introduce component!

src/TogglePassword/tests/Form/TogglePasswordTypeTest.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ public function testRenderFormWithToggle(): void
2222

2323
$rendered = $container->get(Environment::class)->render('toggle_password_form.html.twig', ['form' => $form->createView()]);
2424

25-
self::assertSame('<form name="form" method="post"><div id="form"><div><label for="form_password" class="required">Password</label><div class="toggle-password-container"><input type="password" id="form_password" name="form[password]" required="required" data-controller="symfony--ux-toggle-password--toggle-password" data-symfony--ux-toggle-password--toggle-password-hidden-label-value="Hide" data-symfony--ux-toggle-password--toggle-password-visible-label-value="Show" data-symfony--ux-toggle-password--toggle-password-hidden-icon-value="Default" data-symfony--ux-toggle-password--toggle-password-visible-icon-value="Default" data-symfony--ux-toggle-password--toggle-password-button-classes-value="[&quot;toggle-password-button&quot;]" /></div></div></div></form>
26-
', $rendered);
25+
self::assertStringContainsString('<div class="toggle-password-container"><input type="password" id="form_password" name="form[password]" required="required" data-controller="symfony--ux-toggle-password--toggle-password" data-symfony--ux-toggle-password--toggle-password-hidden-label-value="Hide" data-symfony--ux-toggle-password--toggle-password-visible-label-value="Show" data-symfony--ux-toggle-password--toggle-password-hidden-icon-value="Default" data-symfony--ux-toggle-password--toggle-password-visible-icon-value="Default" data-symfony--ux-toggle-password--toggle-password-button-classes-value="[&quot;toggle-password-button&quot;]"', $rendered);
2726
}
2827

2928
public function testRenderFormWithoutToggle(): void
@@ -36,8 +35,7 @@ public function testRenderFormWithoutToggle(): void
3635

3736
$rendered = $container->get(Environment::class)->render('toggle_password_form.html.twig', ['form' => $form->createView()]);
3837

39-
self::assertSame('<form name="form" method="post"><div id="form"><div><label for="form_password" class="required">Password</label><input type="password" id="form_password" name="form[password]" required="required" /></div></div></form>
40-
', $rendered);
38+
self::assertStringContainsString('<input type="password" id="form_password" name="form[password]" required="required"', $rendered);
4139
}
4240

4341
private function givenServiceContainer(): ?object

src/TogglePassword/tests/Kernel/TwigAppKernel.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,20 @@ public function registerBundles(): iterable
3535
public function registerContainerConfiguration(LoaderInterface $loader): void
3636
{
3737
$loader->load(function (ContainerBuilder $container) {
38-
$container->loadFromExtension('framework', ['secret' => '$ecret', 'test' => true, 'http_method_override' => false]);
38+
$frameworkConfig = [
39+
'secret' => '$ecret',
40+
'test' => true,
41+
'http_method_override' => false,
42+
'php_errors' => [
43+
'log' => true,
44+
],
45+
];
46+
47+
if (self::VERSION_ID >= 60200) {
48+
$frameworkConfig['handle_all_throwables'] = true;
49+
}
50+
51+
$container->loadFromExtension('framework', $frameworkConfig);
3952
$container->loadFromExtension('twig', [
4053
'default_path' => __DIR__.'/templates',
4154
'strict_variables' => true,

src/Turbo/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
"symfony/stimulus-bundle": "^2.9.1"
3939
},
4040
"require-dev": {
41-
"doctrine/annotations": "^1.12",
4241
"doctrine/doctrine-bundle": "^2.4.3",
4342
"doctrine/orm": "^2.8 | 3.0",
4443
"phpstan/phpstan": "^1.10",
@@ -49,6 +48,7 @@
4948
"symfony/messenger": "^5.4|^6.0",
5049
"symfony/panther": "^1.0|^2.0",
5150
"symfony/phpunit-bridge": "^5.4|^6.0",
51+
"symfony/process": "^5.4|6.3.*",
5252
"symfony/property-access": "^5.4|^6.0",
5353
"symfony/security-core": "^5.4|^6.0",
5454
"symfony/stopwatch": "^5.4|^6.0",

src/Turbo/phpstan.neon.dist

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,18 @@ parameters:
1010
inferPrivatePropertyTypeFromConstructor: true
1111
bootstrapFiles:
1212
- vendor/bin/.phpunit/phpunit/vendor/autoload.php
13+
ignoreErrors:
14+
-
15+
message: "#^Call to method getClassAnnotations\\(\\) on an unknown class Doctrine\\\\Common\\\\Annotations\\\\Reader\\.$#"
16+
count: 1
17+
path: src/Doctrine/BroadcastListener.php
18+
19+
-
20+
message: "#^Parameter \\$annotationReader of method Symfony\\\\UX\\\\Turbo\\\\Doctrine\\\\BroadcastListener\\:\\:__construct\\(\\) has invalid type Doctrine\\\\Common\\\\Annotations\\\\Reader\\.$#"
21+
count: 1
22+
path: src/Doctrine/BroadcastListener.php
23+
24+
-
25+
message: "#^Property Symfony\\\\UX\\\\Turbo\\\\Doctrine\\\\BroadcastListener\\:\\:\\$annotationReader has unknown class Doctrine\\\\Common\\\\Annotations\\\\Reader as its type\\.$#"
26+
count: 1
27+
path: src/Doctrine/BroadcastListener.php

src/TwigComponent/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
## 2.11.0
44

55
- Support ...spread operator with html syntax (requires Twig 3.7.0 or higher)
6+
- Add support for anonymous Twig components.
67
- Add `RenderedComponent::crawler()` and `toString()` methods.
8+
- Allow a block outside a Twig component to be available inside via `outerBlocks`.
9+
- Fix `<twig:component>` syntax where an attribute is set to an empty value.
710

811
## 2.9.0
912

0 commit comments

Comments
 (0)