Skip to content

Commit 7a55c11

Browse files
Merge pull request #258 from magento-l3/PR-L3-08112023
ACP2E-2087: CMS contents with emoji are truncated after saving
2 parents 96f1d71 + 9008296 commit 7a55c11

File tree

4 files changed

+23
-25
lines changed

4 files changed

+23
-25
lines changed

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderTextSection/TextOnConfigurationSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<element name="tinyMCEWidgetBtn" type="text" selector="#pagebuilder_text_form_content_magentowidget"/>
2020
<!-- WYSIWYG Disabled -->
2121
<element name="textArea" type="text" selector="#pagebuilder_text_form_content"/>
22+
<element name="textAreaError" type="text" selector="//*[@id='pagebuilder_text_form_content']//ancestor::*[contains(@class,'admin__field-wide')]/*[contains(@class,'admin__field-error')]"/>
2223
<element name="textAreaId" type="text" selector="pagebuilder_text_form_content"/>
2324
<element name="insertWidgetButton" type="text" selector="//button[contains(@class,'action-add-widget')][.='Insert Widget...']"/>
2425
<element name="insertImageButton" type="text" selector="//button[contains(@class,'action-add-image')][.='Insert Image...']" timeout="10"/>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderTextSection/TextOnStageSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<element name="widgetPlaceholderJS" type="text" selector="(document.querySelectorAll('div.pagebuilder-text')[{{indexOfText}} - 1]).querySelector('.magento-placeholder.magento-widget')" parameterized="true"/>
2727
<element name="placeholder" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]//div[contains(@class, 'placeholder-text') and text()='Edit Text']" parameterized="true"/>
2828
<element name="textArea" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg}}]//textarea[contains(@class,'inline-wysiwyg-textarea')]" parameterized="true"/>
29+
<element name="textAreaForExecuteJS" type="text" selector="(//div[contains(@class,&quot;pagebuilder-text&quot;)])[{{arg}}]//textarea[contains(@class,&quot;inline-wysiwyg-textarea&quot;)]" parameterized="true"/>
2930
<element name="textareaPlaceholder" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]//textarea[contains(@class, 'inline-wysiwyg-textarea') and contains(@placeholder,'Edit Text')]" parameterized="true"/>
3031
<element name="textPlaceholder" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg}}]//*[contains(@class, 'placeholder-text') and text()='Edit Text']" parameterized="true"/>
3132
<element name="tinymce" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg}}]//div[contains(@class, 'inline-wysiwyg')]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminCMSPagePageBuilderTest/PageBuilderCMSPageContentValidationTest.xml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@
7979
<argument name="text" value="\u{1F600}"/>
8080
</actionGroup>
8181

82+
<click selector="{{EditPanelForm.editFormSave}}" stepKey="savePageBuilderTextContentType"/>
83+
<waitForElementVisible selector="{{TextOnConfiguration.textAreaError}}" stepKey="waitForPageBuilderTextContentTypeError"/>
84+
<grabTextFrom selector="{{TextOnConfiguration.textAreaError}}" stepKey="grabTextFromPageBuilderTextContentTypeError"/>
85+
<assertStringContainsString stepKey="assertErrorMessageForPageBuilderTextContentType">
86+
<expectedResult type="string">Please remove invalid characters</expectedResult>
87+
<actualResult type="variable">grabTextFromPageBuilderTextContentTypeError</actualResult>
88+
</assertStringContainsString>
89+
<actionGroup ref="removeTextFromHtmlCodeWYSIWYGActionGroup" stepKey="removeTheInvalidCharacterFromPageBuilderTextContentType">
90+
<argument name="selector" value="//textarea[@id=&quot;{{TextOnConfiguration.textAreaId}}&quot;][1]"/>
91+
<argument name="text" value="\u{1F600}"/>
92+
</actionGroup>
8293
<actionGroup ref="saveEditPanelSettingsFullScreen" stepKey="saveTextEditPanelSettings"/>
8394

8495
<!-- Validate Stage -->
@@ -90,6 +101,16 @@
90101
<expectedResult type="string">{{PageBuilderHtmlPropertyButton.value}}</expectedResult>
91102
<actualResult type="variable">actualTextFromHtmlCode</actualResult>
92103
</assertStringContainsString>
104+
105+
<!-- Add the invalid character in the text element on stage -->
106+
<click selector="{{TextOnStage.textareaPlaceholder('1')}}" stepKey="focusOnEditorArea"/>
107+
<actionGroup ref="addTextToHtmlCodeWYSIWYGActionGroup" stepKey="enterWrongTextContentOnStage">
108+
<argument name="selector" value="{{TextOnStage.textAreaForExecuteJS('1')}}"/>
109+
<argument name="text" value="\u{1F600}"/>
110+
</actionGroup>
111+
<!-- Trigger keyup to dispatch changes -->
112+
<pressKey selector="{{TextOnStage.textareaPlaceholder('1')}}" parameterArray="[\Facebook\WebDriver\WebDriverKeys::END]" stepKey="pressEndKey"/>
113+
<click selector="{{PageBuilderPanel.searchPanel}}" stepKey="lostFocusFromTextarea"/>
93114
<actionGroup ref="exitPageBuilderFullScreen" stepKey="exitPageBuilderFullScreen"/>
94115

95116
<!-- Cannot save invalid text-->

app/code/Magento/PageBuilder/view/adminhtml/ui_component/cms_page_form.xml

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)