Fix regex in link-text-parser
Change-Id: Idccdf04073367dd912fec35f902977e2b39f26d8
diff --git a/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.html b/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.html
index f9b663c..db03011 100644
--- a/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.html
+++ b/polygerrit-ui/app/elements/shared/gr-linked-text/gr-linked-text_test.html
@@ -69,6 +69,10 @@
match: 'test (.+)',
html: '<a href="/r/awesomesauce">$1</a>',
},
+ anotatstartwithbaseurl: {
+ match: 'a test (.+)',
+ html: '[Lookup: <a href="/r/awesomesauce">$1</a>]',
+ },
disabledconfig: {
match: 'foo:(.+)',
link: 'https://google.com/search?q=$1',
@@ -212,6 +216,15 @@
assert.equal(linkEl.textContent, 'foo');
});
+ test('a is not at start', function() {
+ window.CANONICAL_PATH = '/r';
+
+ element.content = 'a test foo';
+ const linkEl = element.$.output.childNodes[1];
+ assert.isTrue(linkEl.href.endsWith('/r/awesomesauce'));
+ assert.equal(linkEl.textContent, 'foo');
+ });
+
test('hash html with base url', function() {
window.CANONICAL_PATH = '/r';
diff --git a/polygerrit-ui/app/elements/shared/gr-linked-text/link-text-parser.js b/polygerrit-ui/app/elements/shared/gr-linked-text/link-text-parser.js
index 1afcc30..f5b3824 100644
--- a/polygerrit-ui/app/elements/shared/gr-linked-text/link-text-parser.js
+++ b/polygerrit-ui/app/elements/shared/gr-linked-text/link-text-parser.js
@@ -109,7 +109,7 @@
function(html, position, length, outputArray) {
if (!this.hasOverlap(position, length, outputArray)) {
if (!!this.baseUrl && html.match(/<a href=\"\//g) &&
- !new RegExp(`^<a href="${this.baseUrl}`, 'g').test(html)) {
+ !new RegExp(`<a href="${this.baseUrl}`, 'g').test(html)) {
html = html.replace(/<a href=\"\//g, `<a href=\"${this.baseUrl}\/`);
}
this.addItem(null, null, html, position, length, outputArray);