Przeglądaj źródła

Change the logic of attaching link to a documentation for CKEditorError.

Maciej Gołaszewski 5 lat temu
rodzic
commit
5abbe4b6ee

+ 2 - 1
packages/ckeditor5-utils/src/ckeditorerror.js

@@ -143,7 +143,8 @@ export default class CKEditorError extends Error {
  * @returns {String}
  */
 export function attachLinkToDocumentation( message ) {
-	const matchedErrorName = message.match( /^([^:]+):/ );
+	// The link to documentation should work with console.warn format: "message-id: Explanation message." and single error id.
+	const matchedErrorName = message.match( /^([a-z0-9]+-[a-z-0-9]+):?/ );
 
 	if ( !matchedErrorName ) {
 		return message;

+ 4 - 4
packages/ckeditor5-utils/tests/ckeditorerror.js

@@ -25,7 +25,7 @@ describe( 'CKEditorError', () => {
 	it( 'sets the message', () => {
 		const error = new CKEditorError( 'foo', null );
 
-		expect( error ).to.have.property( 'message', 'foo' );
+		expect( error ).to.have.property( 'message' ).that.matches( /^foo/ );
 		expect( error.data ).to.be.undefined;
 	} );
 
@@ -66,8 +66,8 @@ describe( 'CKEditorError', () => {
 	it( 'contains a link which leads to the documentation', () => {
 		const error = new CKEditorError( 'model-schema-no-item', null );
 
-		const errorMessage = 'model-schema-no-item: Specified item cannot be found. ' +
-			`Read more: ${ DOCUMENTATION_URL }#error-model-schema-no-item\n`;
+		const errorMessage = 'model-schema-no-item' +
+			` Read more: ${ DOCUMENTATION_URL }#error-model-schema-no-item\n`;
 
 		expect( error ).to.have.property( 'message', errorMessage );
 	} );
@@ -75,7 +75,7 @@ describe( 'CKEditorError', () => {
 	it( 'link to documentation is added before the additional data message', () => {
 		const error = new CKEditorError( 'model-schema-no-item', null, { foo: 1, bar: 2 } );
 
-		const errorMessage = 'model-schema-no-item: Specified item cannot be found. ' +
+		const errorMessage = 'model-schema-no-item ' +
 			`Read more: ${ DOCUMENTATION_URL }#error-model-schema-no-item\n ` +
 			'{"foo":1,"bar":2}';