diff options
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.html | 52 |
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> |