Skip to content

Commit acc47e9

Browse files
Merge branch 'PB-61' of github.com:magento-obsessive-owls/magento2-page-builder into PR
2 parents 0c72ef5 + bf245ec commit acc47e9

File tree

4 files changed

+42
-8
lines changed

4 files changed

+42
-8
lines changed

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPageDisablePageBuilderTests.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<magentoCLI command="config:set cms/pagebuilder/enabled 0" stepKey="disablePageBuilder" after="loginGetFromGeneralFile"/>
1313
</before>
1414
<after>
15-
<magentoCLI command="config:set cms/pagebuilder/enabled 1" stepKey="enablePageBuilder" before="amOnLogoutPage"/>
15+
<magentoCLI command="config:set cms/pagebuilder/enabled 1" stepKey="enablePageBuilder" before="adminLogout"/>
1616
</after>
1717
</test>
1818
<test name="AdminAddImageToCMSPageTinyMCE3Test">

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderPanelTest.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,32 @@
158158
<fillField selector="{{PageBuilderPanel.searchPanel}}" userInput="abcdef" stepKey="fillSearch"/>
159159
<see userInput="Nothing found" selector="{{PageBuilderPanel.nothingFound}}" stepKey="validateNothingFound"/>
160160
</test>
161+
<test name="SearchSpecialCharactersInPanel">
162+
<annotations>
163+
<features value="PageBuilder"/>
164+
<stories value="Panel"/>
165+
<title value="Search using special characters in PageBuilder Panel"/>
166+
<description value="When searching using regular expression special characters, assert no JS errors are produced."/>
167+
<severity value="AVERAGE"/>
168+
<useCaseId value="PB-61"/>
169+
<testCaseId value="MC-21478"/>
170+
<group value="pagebuilder"/>
171+
<group value="pagebuilder-panel"/>
172+
</annotations>
173+
<before>
174+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
175+
<actionGroup ref="navigateToAPageWithPageBuilder" stepKey="navigateToAPageWithPageBuilder"/>
176+
<actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/>
177+
</before>
178+
<after>
179+
<actionGroup ref="logout" stepKey="logout"/>
180+
</after>
181+
<fillField selector="{{PageBuilderPanel.searchPanel}}" userInput="$" stepKey="fillSearchWithInvalidInput"/>
182+
<see userInput="Nothing found" selector="{{PageBuilderPanel.nothingFound}}" stepKey="validateNothingFound"/>
183+
<dontSeeJsError stepKey="dontSeeJsError"/>
184+
<fillField selector="{{PageBuilderPanel.searchPanel}}" userInput="Code" stepKey="fillCode"/>
185+
<see userInput="HTML Code" selector="{{PageBuilderPanel.searchResults}}" stepKey="validateCodeButtonShowsUp"/>
186+
</test>
161187
<test name="ClearSearchInPanel">
162188
<annotations>
163189
<features value="PageBuilder"/>

app/code/Magento/PageBuilder/view/adminhtml/web/js/panel.js

Lines changed: 7 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/code/Magento/PageBuilder/view/adminhtml/web/ts/js/panel.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,14 @@ export default class Panel {
9292
_.filter(
9393
Config.getConfig("content_types"),
9494
(contentType: ContentTypeConfigInterface) => {
95-
const regEx = new RegExp("\\b" + self.searchValue(), "gi");
96-
const matches = !!contentType.label.toLowerCase().match(regEx);
97-
return matches &&
98-
contentType.is_system === true;
95+
if (contentType.is_system !== true) {
96+
return false;
97+
}
98+
99+
const escapedSearchValue = self.searchValue().replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
100+
const regEx = new RegExp("\\b" + escapedSearchValue, "gi");
101+
102+
return regEx.test(contentType.label.toLowerCase());
99103
},
100104
),
101105
(contentType, identifier: string) => {

0 commit comments

Comments
 (0)