Parcourir la source

Extract regexps matching content source to separate constant variables.

Mateusz Samsel il y a 6 ans
Parent
commit
8f8894a502

+ 3 - 1
packages/ckeditor5-paste-from-office/src/normalizers/googledocsnormalizer.js

@@ -10,6 +10,8 @@
 import removeBoldWrapper from '../filters/removeboldwrapper';
 import UpcastWriter from '@ckeditor/ckeditor5-engine/src/view/upcastwriter';
 
+const googleDocsMatch = /id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;
+
 /**
  * Normalizer for the content pasted from Google Docs.
  *
@@ -20,7 +22,7 @@ export default class GoogleDocsNormalizer {
 	 * @inheritDoc
 	 */
 	isActive( htmlString ) {
-		return /id=("|')docs-internal-guid-[-0-9a-f]+("|')/.test( htmlString );
+		return googleDocsMatch.test( htmlString );
 	}
 
 	/**

+ 4 - 2
packages/ckeditor5-paste-from-office/src/normalizers/mswordnormalizer.js

@@ -11,6 +11,9 @@ import { parseHtml } from '../filters/parse';
 import { transformListItemLikeElementsIntoLists } from '../filters/list';
 import { replaceImagesSourceWithBase64 } from '../filters/image';
 
+const msWordMatch1 = /<meta\s*name="?generator"?\s*content="?microsoft\s*word\s*\d+"?\/?>/i;
+const msWordMatch2 = /xmlns:o="urn:schemas-microsoft-com/i;
+
 /**
  * Normalizer for the content pasted from Microsoft Word.
  *
@@ -21,8 +24,7 @@ export default class MSWordNormalizer {
 	 * @inheritDoc
 	 */
 	isActive( htmlString ) {
-		return /<meta\s*name="?generator"?\s*content="?microsoft\s*word\s*\d+"?\/?>/i.test( htmlString ) ||
-				/xmlns:o="urn:schemas-microsoft-com/i.test( htmlString );
+		return msWordMatch1.test( htmlString ) || msWordMatch2.test( htmlString );
 	}
 
 	/**

+ 2 - 2
packages/ckeditor5-paste-from-office/tests/pastefromoffice.js

@@ -91,8 +91,8 @@ describe( 'PasteFromOffice', () => {
 		describe( 'already processed data', () => {
 			[
 				{
-					// eslint-disable-next-line max-len
-					'text/html': '<meta charset="utf-8"><b id="docs-internal-guid-30db46f5-7fff-15a1-e17c-1234567890ab" style="font-weight:normal;"><p dir="ltr">Hello world</p></b>'
+					'text/html': '<meta charset="utf-8"><b id="docs-internal-guid-30db46f5-7fff-15a1-e17c-1234567890ab"' +
+						'style="font-weight:normal;"><p dir="ltr">Hello world</p></b>'
 				},
 				{
 					'text/html': '<meta name=Generator content="Microsoft Word 15"><p class="MsoNormal">Hello world<o:p></o:p></p>'