blob: 174254acbae41e54c016cb755beeada5066a1662 [file] [log] [blame] [edit]
<!DOCTYPE html>
<!--
Copyright 2020 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
<script src="../bower_components/webcomponentsjs/webcomponents-lite.js"></script>
<script src="../bower_components/web-component-tester/browser.js"></script>
<title>coverage percentage views test</title>
<test-fixture id="absolute-header-view">
<template>
<absolute-header-view></absolute-header-view>
</template>
</test-fixture>
<test-fixture id="incremental-header-view">
<template>
<incremental-header-view></incremental-header-view>
</template>
</test-fixture>
<test-fixture id="absolute-content-view">
<template>
<absolute-content-view></absolute-content-view>
</template>
</test-fixture>
<test-fixture id="incremental-content-view">
<template>
<incremental-content-view></incremental-content-view>
</template>
</test-fixture>
<script type="module">
import './common-test-setup.js';
import '../src/main/resources/static/coverage-percentage-views.js';
suite('<coverage percentage views>', () => {
test('absolute header view', () => {
const element = fixture('absolute-header-view');
assert.equal(element.shadowRoot.querySelector('div').textContent.trim(), '|Cov.|');
});
test('incremental header view', () => {
const element = fixture('incremental-header-view');
assert.equal(element.shadowRoot.querySelector('div').textContent.trim(), 'ΔCov.');
});
test('absolute content view', (done) => {
const element = fixture('absolute-content-view');
element.changeNum = '12345';
element.patchRange = {patchNum: '2'};
element.path = 'base/test.cc';
element.provider = (changeNum, path, patchNum) => {
return {
absolute: 30,
incremental: 75,
};
};
flush(() => {
assert.equal(element.percentageText, '30%');
done();
});
});
test('absolute content view percentages are not available', (done) => {
const element = fixture('absolute-content-view');
element.changeNum = '12345';
element.patchRange = {patchNum: '2'};
element.path = 'base/test.cc';
element.provider = (changeNum, path, patchNum) => {
return null;
};
flush(() => {
assert.equal(element.percentageText, '-');
done();
});
});
test('incremental content view', (done) => {
const element = fixture('incremental-content-view');
element.changeNum = '12345';
element.patchRange = {patchNum: '2'};
element.path = 'base/test.cc';
element.provider = (changeNum, path, patchNum) => {
return {
absolute: 30,
incremental: 75,
};
};
flush(() => {
assert.equal(element.percentageText, '75%');
done();
});
});
test('incremental content view percentages are not available', (done) => {
const element = fixture('incremental-content-view');
element.changeNum = '12345';
element.patchRange = {patchNum: '2'};
element.path = 'base/test.cc';
element.provider = (changeNum, path, patchNum) => {
return null;
};
flush(() => {
assert.equal(element.percentageText, '-');
done();
});
});
test('incremental content view incremenal percentage is not available',
(done) => {
const element = fixture('incremental-content-view');
element.changeNum = '12345';
element.patchRange = {patchNum: '2'};
element.path = 'base/test.cc';
element.provider = (changeNum, path, patchNum) => {
return {
absolute: 30,
incremental: null,
};
};
flush(() => {
assert.equal(element.percentageText, '-');
done();
});
});
});
</script>