Skip to content

Commit

Permalink
fix: table formatter image preview URL encode (#1678)
Browse files Browse the repository at this point in the history
  • Loading branch information
patrickhulce authored and brendankenny committed Feb 10, 2017
1 parent 85f9b43 commit 0cb9209
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
4 changes: 3 additions & 1 deletion lighthouse-core/formatters/table.js
Expand Up @@ -94,7 +94,9 @@ class Table extends Formatter {
switch (key) {
case 'preview':
if (/^image/.test(value.mimeType)) {
return `[![Image preview](${value.url} "Image preview")](${value.url})`;
// Markdown can't handle URLs with parentheses which aren't automatically encoded
const encodedUrl = value.url.replace(/\)/g, '%29');
return `[![Image preview](${encodedUrl} "Image preview")](${encodedUrl})`;
}
return '';
case 'code':
Expand Down
5 changes: 3 additions & 2 deletions lighthouse-core/test/formatter/table-formatter-test.js
Expand Up @@ -34,7 +34,7 @@ describe('TableFormatter', () => {
code: 'code snippet',
isEval: true,
pre: 'pre snippet',
preview: {url: 'http://example.com/i.jpg', mimeType: 'image/jpeg'}
preview: {url: 'http://example.com/(format:webp)/i.jpg', mimeType: 'image/jpeg'}
}]
};

Expand All @@ -57,8 +57,9 @@ describe('TableFormatter', () => {
assert.equal(table.rows[0].cols[2], '\`code snippet\`');
assert.equal(table.rows[0].cols[3], 'yes');
assert.equal(table.rows[0].cols[4], '\`\`\`\npre snippet\`\`\`');
const expectedUrl = 'http://example.com/(format:webp%29/i.jpg';
assert.equal(table.rows[0].cols[5],
'[![Image preview](http://example.com/i.jpg "Image preview")](http://example.com/i.jpg)');
`[![Image preview](${expectedUrl} "Image preview")](${expectedUrl})`);
});

it('generates valid pretty output', () => {
Expand Down

0 comments on commit 0cb9209

Please sign in to comment.