summaryrefslogtreecommitdiffstats
path: root/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.ts')
-rw-r--r--polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.ts67
1 files changed, 51 insertions, 16 deletions
diff --git a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.ts b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.ts
index ab9d038fc8..b2cd4308a2 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.ts
@@ -76,7 +76,6 @@ function createFiles(
suite('gr-file-list tests', () => {
let element: GrFileList;
-
let saveStub: sinon.SinonStub;
suite('basic tests', async () => {
@@ -106,11 +105,9 @@ suite('gr-file-list tests', () => {
element.numFilesShown = 200;
element.basePatchNum = PARENT;
element.patchNum = 2 as RevisionPatchSetNum;
- saveStub = sinon
- .stub(element, '_saveReviewedState')
- .callsFake(() => Promise.resolve());
- await element.updateComplete;
+ saveStub = sinon.stub(element, '_saveReviewedState').resolves();
element.showSizeBars = true;
+ await element.updateComplete;
// Wait for expandedFilesChanged to complete.
await waitEventLoop();
});
@@ -207,14 +204,16 @@ suite('gr-file-list tests', () => {
</div>
</div>
<div class="desktop" role="gridcell">
- <div aria-hidden="true" class="sizeBars"></div>
+ <div aria-hidden="true" class="sizeBars">
+ <svg><!-- contents asserted separately below --></svg>
+ </div>
</div>
<div class="stats" role="gridcell">
<div>
- <span aria-label="9 added" class="added" tabindex="0"> +9 </span>
<span aria-label="0 removed" class="removed" tabindex="0">
-0
</span>
+ <span aria-label="9 added" class="added" tabindex="0"> +9 </span>
<span hidden=""> +/-0 B </span>
</div>
</div>
@@ -262,6 +261,31 @@ suite('gr-file-list tests', () => {
</div>
</div>`
);
+ // <svg> and contents are ignored by assert.dom.equal() above, so we need
+ // a separate assert.lightDom.equal() for it here.
+ const sizeBarsSVG = queryAndAssert<SVGSVGElement>(
+ element,
+ '.sizeBars > svg'
+ );
+ assert.lightDom.equal(
+ sizeBarsSVG,
+ /* HTML */ `
+ <rect
+ height="8"
+ width="0"
+ x="0"
+ y="0"
+ fill="var(--negative-red-text-color)"
+ ></rect>
+ <rect
+ height="8"
+ width="60"
+ x="1"
+ y="0"
+ fill="var(--positive-green-text-color)"
+ ></rect>
+ `
+ );
});
test('renders file paths', async () => {
@@ -1763,7 +1787,7 @@ suite('gr-file-list tests', () => {
maxDeleted: 0,
maxAdditionWidth: 0,
maxDeletionWidth: 0,
- deletionOffset: 0,
+ additionOffset: 0,
};
element.files = [];
@@ -1811,7 +1835,7 @@ suite('gr-file-list tests', () => {
maxDeleted: 0,
maxAdditionWidth: 60,
maxDeletionWidth: 0,
- deletionOffset: 60,
+ additionOffset: 60,
};
// Uses half the space when file is half the largest addition and there
@@ -1839,22 +1863,33 @@ suite('gr-file-list tests', () => {
assert.equal(element.computeBarAdditionWidth(file, stats), 1.5);
});
- test('_computeBarAdditionX', () => {
+ test('computeBarDeletionX', () => {
const file = {
__path: 'foo/bar.baz',
- lines_inserted: 5,
- lines_deleted: 0,
+ lines_inserted: 0,
+ lines_deleted: 5,
size: 0,
size_delta: 0,
};
const stats = {
+ maxInserted: 0,
+ maxDeleted: 10,
+ maxAdditionWidth: 0,
+ maxDeletionWidth: 60,
+ additionOffset: 60,
+ };
+ assert.equal(element.computeBarDeletionX(file, stats), 30);
+ });
+
+ test('computeBarAdditionX', () => {
+ const stats = {
maxInserted: 10,
maxDeleted: 0,
maxAdditionWidth: 60,
maxDeletionWidth: 0,
- deletionOffset: 60,
+ additionOffset: 60,
};
- assert.equal(element.computeBarAdditionX(file, stats), 30);
+ assert.equal(element.computeBarAdditionX(stats), 60);
});
test('computeBarDeletionWidth', () => {
@@ -1870,7 +1905,7 @@ suite('gr-file-list tests', () => {
maxDeleted: 10,
maxAdditionWidth: 30,
maxDeletionWidth: 30,
- deletionOffset: 31,
+ additionOffset: 31,
};
// Uses a quarter the space when file is half the largest deletions and
@@ -1898,7 +1933,7 @@ suite('gr-file-list tests', () => {
assert.equal(element.computeBarDeletionWidth(file, stats), 1.5);
});
- test('_computeSizeBarsClass', () => {
+ test('computeSizeBarsClass', () => {
element.showSizeBars = false;
assert.equal(
element.computeSizeBarsClass('foo/bar.baz'),