summaryrefslogtreecommitdiffstats
path: root/polygerrit-ui/app/elements/change/gr-comment-list/gr-comment-list_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'polygerrit-ui/app/elements/change/gr-comment-list/gr-comment-list_test.html')
-rw-r--r--polygerrit-ui/app/elements/change/gr-comment-list/gr-comment-list_test.html52
1 files changed, 52 insertions, 0 deletions
diff --git a/polygerrit-ui/app/elements/change/gr-comment-list/gr-comment-list_test.html b/polygerrit-ui/app/elements/change/gr-comment-list/gr-comment-list_test.html
index 0e47e3054c..9996abce14 100644
--- a/polygerrit-ui/app/elements/change/gr-comment-list/gr-comment-list_test.html
+++ b/polygerrit-ui/app/elements/change/gr-comment-list/gr-comment-list_test.html
@@ -1,5 +1,6 @@
<!DOCTYPE html>
<!--
+@license
Copyright (C) 2016 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
@@ -34,11 +35,16 @@ limitations under the License.
<script>
suite('gr-comment-list tests', () => {
let element;
+ let sandbox;
setup(() => {
element = fixture('basic');
+ sandbox = sinon.sandbox.create();
+ sandbox.stub(Gerrit.Nav, 'mapCommentlinks', x => x);
});
+ teardown(() => { sandbox.restore(); });
+
test('_computeFilesFromComments w/ special file path sorting', () => {
const comments = {
'file_b.html': [],
@@ -72,5 +78,51 @@ limitations under the License.
comment.side = 'PARENT';
assert.equal(element._computePatchDisplayName(comment), 'Base, ');
});
+
+ test('config commentlinks propagate to formatted text', () => {
+ element.comments = {
+ 'test.h': [{
+ author: {name: 'foo'},
+ patch_set: 4,
+ line: 10,
+ updated: '2017-10-30 20:48:40.000000000',
+ message: 'Ideadbeefdeadbeef',
+ unresolved: true,
+ }],
+ };
+ element.projectConfig = {
+ commentlinks: {foo: {link: '#/q/$1', match: '(I[0-9a-f]{8,40})'}},
+ };
+ flushAsynchronousOperations();
+ const formattedText = Polymer.dom(element.root).querySelector(
+ 'gr-formatted-text.message');
+ assert.isOk(formattedText.config);
+ assert.deepEqual(formattedText.config,
+ element.projectConfig.commentlinks);
+ });
+
+ test('_computeDiffLineURL', () => {
+ const getUrlStub = sandbox.stub(Gerrit.Nav, 'getUrlForDiffById');
+ element.projectName = 'proj';
+ element.changeNum = 123;
+
+ const comment = {line: 456};
+ element._computeDiffLineURL('foo.cc', 123, 4, comment);
+ assert.isTrue(getUrlStub.calledOnce);
+ assert.deepEqual(getUrlStub.lastCall.args,
+ [123, 'proj', 'foo.cc', 4, null, 456, false]);
+
+ comment.side = 'PARENT';
+ element._computeDiffLineURL('foo.cc', 123, 4, comment);
+ assert.isTrue(getUrlStub.calledTwice);
+ assert.deepEqual(getUrlStub.lastCall.args,
+ [123, 'proj', 'foo.cc', 4, null, 456, true]);
+
+ comment.parent = 12;
+ element._computeDiffLineURL('foo.cc', 123, 4, comment);
+ assert.isTrue(getUrlStub.calledThrice);
+ assert.deepEqual(getUrlStub.lastCall.args,
+ [123, 'proj', 'foo.cc', 4, -12, 456, true]);
+ });
});
</script>