From a3b124a773061d59fbce5a4efb5cd7b3479f6db0 Mon Sep 17 00:00:00 2001 From: Ben Tideswell Date: Mon, 29 Mar 2021 21:12:00 +0100 Subject: [PATCH 1/4] Allow underscore in extended static files in theme --- lib/internal/Magento/Framework/App/Utility/Files.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/internal/Magento/Framework/App/Utility/Files.php b/lib/internal/Magento/Framework/App/Utility/Files.php index 36993f1620e36..b0480510e7f68 100644 --- a/lib/internal/Magento/Framework/App/Utility/Files.php +++ b/lib/internal/Magento/Framework/App/Utility/Files.php @@ -936,7 +936,7 @@ private function accumulateThemeStaticFiles($area, $locale, $filePattern, &$resu ]; $this->_accumulateFilesByPatterns($paths, $filePattern, $files); $regex = '#^' . $themePath . - '/((?P[a-z\d]+_[a-z\d]+)/)?web/(i18n/(?P[a-z_]+)/)?(?P.+)$#i'; + '/((?P[a-z\d]+_[a-z_\d]+)/)?web/(i18n/(?P[a-z_]+)/)?(?P.+)$#i'; foreach ($files as $file) { if (preg_match($regex, $file, $matches)) { $result[] = [ From e17a3e7fb9b26510a6102a654253bab0c0d0d072 Mon Sep 17 00:00:00 2001 From: Pavel Bystritsky Date: Thu, 15 Apr 2021 15:46:18 +0300 Subject: [PATCH 2/4] magento/magento2#32619: Underscores not allowed in module names in \Magento\Framework\App\Utility\Files::accumulateThemeStaticFiles. --- .../Magento/Framework/App/Utility/FilesTest.php | 12 ++++++++++++ .../Module_Third_Party/web/css/source/_module.less | 0 .../design/frontend/Test/default/registration.php | 9 +++++++++ .../_files/design/frontend/Test/default/theme.xml | 10 ++++++++++ 4 files changed, 31 insertions(+) create mode 100644 dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/Module_Third_Party/web/css/source/_module.less create mode 100644 dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/registration.php create mode 100644 dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/theme.xml diff --git a/dev/tests/integration/testsuite/Magento/Framework/App/Utility/FilesTest.php b/dev/tests/integration/testsuite/Magento/Framework/App/Utility/FilesTest.php index a41fe148a4624..2a84a6afa92f6 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/App/Utility/FilesTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/App/Utility/FilesTest.php @@ -159,4 +159,16 @@ public function testReadLists() } $this->assertSame($expected, $actual); } + + /** + * Tests if underscores are allowed in extended static files in theme. + * + * @magentoComponentsDir Magento/Framework/App/Utility/_files/design + * @magentoAppIsolation enabled + * @magentoDbIsolation enabled + */ + public function testAllowUnderscoreInExtendedFiles() + { + $this->model->getStaticPreProcessingFiles('*.less'); + } } diff --git a/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/Module_Third_Party/web/css/source/_module.less b/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/Module_Third_Party/web/css/source/_module.less new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/registration.php b/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/registration.php new file mode 100644 index 0000000000000..8837388781c28 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/registration.php @@ -0,0 +1,9 @@ + + + + Test Default + From df94b8aef4a8c59a04dc432d286cec172e99500b Mon Sep 17 00:00:00 2001 From: Ben Tideswell Date: Fri, 16 Apr 2021 07:31:23 +0000 Subject: [PATCH 3/4] Update _module.less Added required Magento copyright text to less file --- .../Module_Third_Party/web/css/source/_module.less | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/Module_Third_Party/web/css/source/_module.less b/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/Module_Third_Party/web/css/source/_module.less index e69de29bb2d1d..5d97e4e29303f 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/Module_Third_Party/web/css/source/_module.less +++ b/dev/tests/integration/testsuite/Magento/Framework/App/Utility/_files/design/frontend/Test/default/Module_Third_Party/web/css/source/_module.less @@ -0,0 +1,8 @@ +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + .a-random-css-rule { + background: red; + } + From 96f58e78e750452475dcae0f1f8d2a86fc78de41 Mon Sep 17 00:00:00 2001 From: Pavel Bystritsky Date: Fri, 30 Apr 2021 14:36:51 +0300 Subject: [PATCH 4/4] magento/magento2#32619: Underscores not allowed in module names in \Magento\Framework\App\Utility\Files::accumulateThemeStaticFiles. --- .../Magento/Framework/App/Utility/FilesTest.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dev/tests/integration/testsuite/Magento/Framework/App/Utility/FilesTest.php b/dev/tests/integration/testsuite/Magento/Framework/App/Utility/FilesTest.php index 2a84a6afa92f6..d054900bb8031 100644 --- a/dev/tests/integration/testsuite/Magento/Framework/App/Utility/FilesTest.php +++ b/dev/tests/integration/testsuite/Magento/Framework/App/Utility/FilesTest.php @@ -6,7 +6,6 @@ namespace Magento\Framework\App\Utility; -use Magento\Framework\App\Utility\Files; use Magento\Framework\Component\ComponentRegistrar; class FilesTest extends \PHPUnit\Framework\TestCase @@ -169,6 +168,14 @@ public function testReadLists() */ public function testAllowUnderscoreInExtendedFiles() { - $this->model->getStaticPreProcessingFiles('*.less'); + $this->assertNotEmpty( + array_filter( + $this->model->getStaticPreProcessingFiles('*.less'), + function ($resource) { + return $resource[3] === 'Module_Third_Party' + && $resource[4] === 'css/source/_module.less'; + } + ) + ); } }