e.jgenhtml.jgenhtml.1.5.source-code.jgenhtml.css Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jgenhtml Show documentation
Show all versions of jgenhtml Show documentation
This tool is a java implementation of lcov's genhtml tool,
primarily intended for use with the output fileproduced by JsTestDriver's coverage plugin
but could be used anywhere genhtml is used.
/*
Copyright (C) 2012 Rick Brown
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
body
{
font-family: sans-serif;
}
h1
{
font-size: 1.6em;
font-style: italic;
text-align:center;
padding-left: 0px;
padding-right: 0px;
padding-top: 0px;
padding-bottom: 10px;
margin: 0px;
}
h2
{
font-size: 1.2em;
text-align: center;
}
div.footer
{
text-align: center;
font-style: italic;
width: 100%;
border-top: rgb(102, 136, 212) solid 3px;
margin-top: 1em;
}
div.controls fieldset
{
width: 30em;
text-align: center;
margin-left: auto;
border-color: rgb(102, 136, 212);
color: rgb(0, 0, 0);
opacity: 0.3;
-webkit-transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-ms-transition: opacity 1s ease-in-out;
-o-transition: opacity 1s ease-in-out;
transition: opacity 1s ease-in-out;
}
div.controls fieldset:hover
{
opacity: 1;
}
div.controls label{
padding-left: 1em;
}
table.stats
{
text-align: center;
width: 100%;
}
a
{
color:#284FA8;
}
a:visited
{
color: #00CB40;
}
table.stats tbody td
{
font-weight: bold;
color: #284FA8;
background-color: #DAE7FE;
}
table.stats tbody td:last-of-type
{
color: black;
}
.high
{
background-color: #A7FC9D !important;
}
.med
{
background-color: #FFEA20 !important;
}
.low, table.functionCoverage tr.coverFnLo td:last-child
{
background-color: red !important;
}
table.stats tbody th[scope='row']
{
text-align: right;
}
table.stats tbody th[scope='row']:after
{
content: ":";
}
body.nobranch table.stats tbody tr:last-child, body.nofunc table.stats tbody tr:nth-child(2), body.nofunc span.functionNav
{
/*visibility: hidden; I still want it to take up space so the controls don't jump around */
display: none;
}
div.header
{
font-weight: bold;
display: table;
width: 100%;
border-bottom: rgb(102, 136, 212) solid 3px;
border-top: rgb(102, 136, 212) solid 3px;
margin-bottom: 1em;
padding-bottom: .5em;
padding-top: .5em;
}
div.row
{
display: table-row;
}
div.header dl.pageView
{
display: table-cell;
padding-left: 2em;
width: 40%;
}
div.header dl.pageView dt
{
text-align: right;
width:8em;
float: left;
margin-right: 1em;
}
div.header dl dt:after
{
content: ":";
}
div.header dl dd
{
color: #284FA8;
margin-left: 1em;
white-space: nowrap;
}
body.nolegend .legend
{
display: none;
}
div.header dl.legend
{
display: table-row;
}
div.header dl.legend dt, div.header dl.legend dd
{
font-weight: normal;
text-align: center;
color: black;
display: table-cell;
float: none;
width: auto;
}
div.header dl.legend dt
{
padding-right: .5em;
padding-left: .5em;
}
div.header dl.legend dd
{
padding-right: .5em;
padding-left: .5em;
border-right-color: white;
border-right-style: solid;
border-right-width: .25em;
}
table.index, table.functionCoverage
{
margin-left:auto;
margin-right:auto;
width: 80%;
}
div.descriptions
{
width:80%;
margin-left: auto;
margin-right: auto;
padding-bottom: 2em;
background-color: #DAE7FE;
}
div.descriptions dt
{
font-weight: bold;
margin-left: 2em;
margin-top: 1em;
}
div.descriptions dd
{
margin-left: 4em;
}
table.index td, table.functionCoverage td
{
background-color: #DAE7FE;
padding-right: 1em;
padding-left: 1em;
}
table.index th, table.functionCoverage th, div.descriptions h2
{
background-color: rgb(102, 136, 212);
color:white;
}
button.sort{
border: 0 none;
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB2ZXJzaW9uPSIxLjEiCiAgIHdpZHRoPSIxNiIKICAgaGVpZ2h0PSIxNiIKICAgaWQ9InN2ZzMwMzUiCiAgIGlua3NjYXBlOnZlcnNpb249IjAuNDguMy4xIHI5ODg2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJ1bnNvcnRlZF9pcy5zdmciPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTg1NSIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDU2IgogICAgIGlkPSJuYW1lZHZpZXc3IgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyOS41IgogICAgIGlua3NjYXBlOmN4PSIyNS45OTk0NzMiCiAgICAgaW5rc2NhcGU6Y3k9IjE0LjU2Njc4OSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iNjUiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI0IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMzAzNSIgLz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDQ1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzA0MyIgLz4KICA8cG9seWdvbgogICAgIHBvaW50cz0iMTYsOCAwLDggOCwxNiAiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC44NjU1OTgzNywwLDAsMC44NTg4MDk1LDEuMTI4MDE4MywxLjU4ODY3NTUpIgogICAgIGlkPSJwb2x5Z29uMzAzOSIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZTojNjY4OGQ0O3N0cm9rZS13aWR0aDoxIiAvPgogIDxwb2x5Z29uCiAgICAgcG9pbnRzPSI4LDE2IDE2LDggMCw4ICIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgtMC44NjU1OTgzNywwLDAsLTAuODU4ODA5NSwxNC45Nzc1OTIsMTQuNDEwOTg4KSIKICAgICBpZD0icG9seWdvbjMwNDciCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2U6IzY2ODhkNDtzdHJva2Utd2lkdGg6MSIgLz4KPC9zdmc+Cg==');
background-repeat: no-repeat;
background-color: transparent;
width: 16px;
height: 16px;
float:right;
}
th[aria-sort="ascending"] button.sort
{
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB2ZXJzaW9uPSIxLjEiCiAgIHdpZHRoPSIxNiIKICAgaGVpZ2h0PSIxNiIKICAgaWQ9InN2ZzIiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cG9seWdvbgogICAgIHBvaW50cz0iOCwxNiAxNiw4IDAsOCAiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoLTAuODY1NTk4MzcsMCwwLC0wLjg1ODgwOTUsMTQuOTQzNjk0LDE3LjYzMTMyNykiCiAgICAgaWQ9InBvbHlnb240IgogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7c3Ryb2tlOiM2Njg4ZDQ7c3Ryb2tlLXdpZHRoOjEiIC8+Cjwvc3ZnPgo=');
}
th[aria-sort="descending"] button.sort
{
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB2ZXJzaW9uPSIxLjEiCiAgIHdpZHRoPSIxNiIKICAgaGVpZ2h0PSIxNiIKICAgaWQ9InN2ZzIiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cG9seWdvbgogICAgIHBvaW50cz0iMTYsOCAwLDggOCwxNiAiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC44NjU1OTgzNywwLDAsMC44NTg4MDk1LDEuMDk0MTIsLTIuOTgwMTAxKSIKICAgICBpZD0icG9seWdvbjQiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2U6IzY2ODhkNDtzdHJva2Utd2lkdGg6MSIgLz4KPC9zdmc+Cg==');
}
table.index thead tr:last-child, table caption, div.controls fieldset legend, .offscreen
{
/* This moves elements off-screen which are needed for sematic markup but not needed for visual users */
position: absolute;
left: -999em;
}
body.nobranch table.index thead th[id^="branch"]
{
display: none;
}
body.nobranch table.index tbody td[headers^="branch"]
{
display: none;
}
body.nofunc table.index thead th[id^="function"]
{
display: none;
}
body.nofunc table.index tbody td[headers^="function"]
{
display: none;
}
table.index td
{
text-align: center;
}
table.index td:first-of-type
{
color:#284FA8;
text-align:left;
font-family: monospace;
}
table.coverage
{
width: 100%;
}
/*
table.coverage tbody tr:nth-child(odd), table.functionCoverage tbody tr:nth-child(odd)
{
background-color:#e6e6e6;
}
*/
table.coverage td
{
text-align: center;
}
table.coverage code
{
white-space: pre;
}
table.coverage td:last-child
{
text-align: left;
}
table.coverage td:first-child
{
background-color: #EFE383;
}
table.coverage td:nth-of-type(even), table.coverage th:nth-of-type(even)
{
border-left: 1px dotted;
border-right: 1px dotted;
}
/* hmmm, could use colgroups... */
table.coverage td:nth-child(-n+3)
{
width: 4em;
}
body.nobranch table.coverage td:nth-child(2), body.nobranch table.coverage th:nth-child(2)
{
display:none;
}
td span.branch
{
display: inline-block;
width: 1em;
}
td span.branch:first-of-type
{
border-left-style: solid;
border-left-width: 1px;
}
td span.branch:last-of-type
{
border-right-style: solid;
border-right-width: 1px;
}
.taken:before
{
content: "+";
}
.noTaken:before
{
content: "-";
}
tr.lineCov td:nth-last-child(-n+2), dd.lineCov, .taken
{
background-color: #CAD7FE;
}
tr.lineNoCov td:nth-last-child(-n+2), dd.lineNoCov, .noTaken
{
background-color: #FF6230;
}
/* Hide JS controls if script is off or in a shite browser */
body.noscript div.controls, body.noscript button.sort
{
display: none;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy