diff --git a/coverage/htmlfiles/pyfile.html b/coverage/htmlfiles/pyfile.html index eb0f99c81..ec0f416ff 100644 --- a/coverage/htmlfiles/pyfile.html +++ b/coverage/htmlfiles/pyfile.html @@ -33,12 +33,12 @@

Coverage for {{relative_filename|escape}} :

{{nums.n_statements}} statements   - {{nums.n_executed}} run - {{nums.n_missing}} missing - {{nums.n_excluded}} excluded + + + {% if has_arcs %} - {{nums.n_partial_branches}} partial + {% endif %}

diff --git a/coverage/htmlfiles/style.css b/coverage/htmlfiles/style.css index e8ff57657..ab9dbcb9d 100644 --- a/coverage/htmlfiles/style.css +++ b/coverage/htmlfiles/style.css @@ -4,11 +4,17 @@ /* Don't edit this .css file. Edit the .scss file instead! */ html, body, h1, h2, h3, p, table, td, th { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; } -body { font-family: georgia, serif; font-size: 1em; } +body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 1em; background: #fff; color: #000; } + +@media (prefers-color-scheme: dark) { body { background: #1e1e1e; } } + +@media (prefers-color-scheme: dark) { body { color: #eee; } } html > body { font-size: 16px; } -p { font-size: .75em; line-height: 1.33333333em; } +a:active, a:focus { outline: 2px dashed #007acc; } + +p { font-size: .875em; line-height: 1.4em; } table { border-collapse: collapse; } @@ -19,15 +25,22 @@ table tr.hidden { display: none !important; } p#no_rows { display: none; font-size: 1.2em; } a.nav { text-decoration: none; color: inherit; } + a.nav:hover { text-decoration: underline; color: inherit; } #header { background: #f8f8f8; width: 100%; border-bottom: 1px solid #eee; } +@media (prefers-color-scheme: dark) { #header { background: black; } } + +@media (prefers-color-scheme: dark) { #header { border-color: #333; } } + .indexfile #footer { margin: 1em 3em; } .pyfile #footer { margin: 1em 1em; } -#footer .content { padding: 0; font-size: 85%; font-family: verdana, sans-serif; color: #666666; font-style: italic; } +#footer .content { padding: 0; color: #666; font-style: italic; } + +@media (prefers-color-scheme: dark) { #footer .content { color: #aaa; } } #index { margin: 1em 0 0 3em; } @@ -35,90 +48,236 @@ a.nav:hover { text-decoration: underline; color: inherit; } h1 { font-size: 1.25em; display: inline-block; } -#filter_container { display: inline-block; float: right; margin: 0 2em 0 0; } -#filter_container input { width: 10em; } +#filter_container { float: right; margin: 0 2em 0 0; } + +#filter_container input { width: 10em; padding: 0.2em 0.5em; border: 2px solid #ccc; background: #fff; color: #000; } + +@media (prefers-color-scheme: dark) { #filter_container input { border-color: #444; } } + +@media (prefers-color-scheme: dark) { #filter_container input { background: #1e1e1e; } } + +@media (prefers-color-scheme: dark) { #filter_container input { color: #eee; } } + +#filter_container input:focus { border-color: #007acc; } h2.stats { margin-top: .5em; font-size: 1em; } -.stats span { border: 1px solid; border-radius: .1em; padding: .1em .5em; margin: 0 .1em; cursor: pointer; border-color: #ccc #999 #999 #ccc; } -.stats span.run { background: #eeffee; } -.stats span.run.show_run { border-color: #999 #ccc #ccc #999; background: #ddffdd; } -.stats span.mis { background: #ffeeee; } -.stats span.mis.show_mis { border-color: #999 #ccc #ccc #999; background: #ffdddd; } -.stats span.exc { background: #f7f7f7; } -.stats span.exc.show_exc { border-color: #999 #ccc #ccc #999; background: #eeeeee; } -.stats span.par { background: #ffffd5; } -.stats span.par.show_par { border-color: #999 #ccc #ccc #999; background: #ffffaa; } +.stats button { font-family: inherit; font-size: inherit; border: 2px solid; border-radius: .1em; color: inherit; padding: .1em .5em; margin: 0 .1em; cursor: pointer; border-color: #ccc; } + +@media (prefers-color-scheme: dark) { .stats button { border-color: #444; } } + +.stats button:active, .stats button:focus { outline: 2px dashed #007acc; } + +.stats button:active, .stats button:focus { outline: 2px dashed #007acc; } + +.stats button.run { background: #eeffee; } + +@media (prefers-color-scheme: dark) { .stats button.run { background: #373d29; } } + +.stats button.run.show_run { background: #dfd; border-color: #00dd00; } + +@media (prefers-color-scheme: dark) { .stats button.run.show_run { background: #373d29; } } + +.stats button.mis { background: #ffeeee; } + +@media (prefers-color-scheme: dark) { .stats button.mis { background: #4b1818; } } + +.stats button.mis.show_mis { background: #fdd; border-color: #ff0000; } + +@media (prefers-color-scheme: dark) { .stats button.mis.show_mis { background: #4b1818; } } + +.stats button.exc { background: #f7f7f7; } + +@media (prefers-color-scheme: dark) { .stats button.exc { background: #333; } } + +.stats button.exc.show_exc { background: #eee; border-color: #808080; } + +@media (prefers-color-scheme: dark) { .stats button.exc.show_exc { background: #333; } } + +.stats button.par { background: #ffffd5; } -#source p .annotate.long, .help_panel { display: none; position: absolute; z-index: 999; background: #ffffcc; border: 1px solid #888; border-radius: .2em; box-shadow: #cccccc .2em .2em .2em; color: #333; padding: .25em .5em; } +@media (prefers-color-scheme: dark) { .stats button.par { background: #650; } } + +.stats button.par.show_par { background: #ffa; border-color: #dddd00; } + +@media (prefers-color-scheme: dark) { .stats button.par.show_par { background: #650; } } + +.help_panel, #source p .annotate.long { display: none; position: absolute; z-index: 999; background: #ffffcc; border: 1px solid #888; border-radius: .2em; color: #333; padding: .25em .5em; } #source p .annotate.long { white-space: normal; float: right; top: 1.75em; right: 1em; height: auto; } #keyboard_icon { float: right; margin: 5px; cursor: pointer; } .help_panel { padding: .5em; border: 1px solid #883; } + .help_panel .legend { font-style: italic; margin-bottom: 1em; } -.indexfile .help_panel { width: 20em; height: 4em; } -.pyfile .help_panel { width: 16em; height: 8em; } + +.indexfile .help_panel { width: 20em; min-height: 4em; } + +.pyfile .help_panel { width: 16em; min-height: 8em; } #panel_icon { float: right; cursor: pointer; } .keyhelp { margin: .75em; } -.keyhelp .key { border: 1px solid black; border-color: #888 #333 #333 #888; padding: .1em .35em; font-family: monospace; font-weight: bold; background: #eee; } -#source { padding: 1em 0 1em 3rem; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } +.keyhelp .key { border: 1px solid black; border-color: #888 #333 #333 #888; padding: .1em .35em; font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-weight: bold; background: #eee; } + +#source { padding: 1em 0 1em 3rem; font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; } + #source p { position: relative; white-space: pre; } + #source p * { box-sizing: border-box; } -#source p .n { float: left; text-align: right; width: 3rem; box-sizing: border-box; margin-left: -3rem; padding-right: 1em; color: #999999; font-family: verdana, sans-serif; } -#source p .n a { text-decoration: none; color: #999999; font-size: .8333em; line-height: 1em; } -#source p .n a:hover { text-decoration: underline; color: #999999; } + +#source p .n { float: left; text-align: right; width: 3rem; box-sizing: border-box; margin-left: -3rem; padding-right: 1em; color: #999; } + +@media (prefers-color-scheme: dark) { #source p .n { color: #777; } } + +#source p .n a { text-decoration: none; color: #999; } + +@media (prefers-color-scheme: dark) { #source p .n a { color: #777; } } + +#source p .n a:hover { text-decoration: underline; color: #999; } + +@media (prefers-color-scheme: dark) { #source p .n a:hover { color: #777; } } + #source p.highlight .n { background: #ffdd00; } -#source p .t { display: inline-block; width: 100%; box-sizing: border-box; margin-left: -.5em; padding-left: 0.3em; border-left: 0.2em solid white; } + +#source p .t { display: inline-block; width: 100%; box-sizing: border-box; margin-left: -.5em; padding-left: 0.3em; border-left: 0.2em solid #fff; } + +@media (prefers-color-scheme: dark) { #source p .t { border-color: #1e1e1e; } } + #source p .t:hover { background: #f2f2f2; } + +@media (prefers-color-scheme: dark) { #source p .t:hover { background: #282828; } } + #source p .t:hover ~ .r .annotate.long { display: block; } -#source p .t .com { color: green; font-style: italic; line-height: 1px; } + +#source p .t .com { color: #008000; font-style: italic; line-height: 1px; } + +@media (prefers-color-scheme: dark) { #source p .t .com { color: #6A9955; } } + #source p .t .key { font-weight: bold; line-height: 1px; } -#source p .t .str { color: #000080; } + +#source p .t .str { color: #0451A5; } + +@media (prefers-color-scheme: dark) { #source p .t .str { color: #9CDCFE; } } + #source p.mis .t { border-left: 0.2em solid #ff0000; } -#source p.mis.show_mis .t { background: #ffdddd; } + +#source p.mis.show_mis .t { background: #fdd; } + +@media (prefers-color-scheme: dark) { #source p.mis.show_mis .t { background: #4b1818; } } + #source p.mis.show_mis .t:hover { background: #f2d2d2; } -#source p.run .t { border-left: 0.2em solid #00ff00; } -#source p.run.show_run .t { background: #ddffdd; } + +@media (prefers-color-scheme: dark) { #source p.mis.show_mis .t:hover { background: #532323; } } + +#source p.run .t { border-left: 0.2em solid #00dd00; } + +#source p.run.show_run .t { background: #dfd; } + +@media (prefers-color-scheme: dark) { #source p.run.show_run .t { background: #373d29; } } + #source p.run.show_run .t:hover { background: #d2f2d2; } + +@media (prefers-color-scheme: dark) { #source p.run.show_run .t:hover { background: #404633; } } + #source p.exc .t { border-left: 0.2em solid #808080; } -#source p.exc.show_exc .t { background: #eeeeee; } + +#source p.exc.show_exc .t { background: #eee; } + +@media (prefers-color-scheme: dark) { #source p.exc.show_exc .t { background: #333; } } + #source p.exc.show_exc .t:hover { background: #e2e2e2; } -#source p.par .t { border-left: 0.2em solid #eeee99; } -#source p.par.show_par .t { background: #ffffaa; } + +@media (prefers-color-scheme: dark) { #source p.exc.show_exc .t:hover { background: #3c3c3c; } } + +#source p.par .t { border-left: 0.2em solid #dddd00; } + +#source p.par.show_par .t { background: #ffa; } + +@media (prefers-color-scheme: dark) { #source p.par.show_par .t { background: #650; } } + #source p.par.show_par .t:hover { background: #f2f2a2; } -#source p .r { position: absolute; top: 0; right: 2.5em; font-family: verdana, sans-serif; } -#source p .annotate { font-family: georgia; color: #666; padding-right: .5em; } + +@media (prefers-color-scheme: dark) { #source p.par.show_par .t:hover { background: #6d5d0c; } } + +#source p .r { position: absolute; top: 0; right: 2.5em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; } + +#source p .annotate { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; color: #666; padding-right: .5em; } + +@media (prefers-color-scheme: dark) { #source p .annotate { color: #ddd; } } + #source p .annotate.short:hover ~ .long { display: block; } + #source p .annotate.long { width: 30em; right: 2.5em; } + #source p input { display: none; } + #source p input ~ .r label.ctx { cursor: pointer; border-radius: .25em; } + #source p input ~ .r label.ctx::before { content: "▶ "; } + #source p input ~ .r label.ctx:hover { background: #d5f7ff; color: #666; } + #source p input:checked ~ .r label.ctx { background: #aaeeff; color: #666; border-radius: .75em .75em 0 0; padding: 0 .5em; margin: -.25em 0; } + #source p input:checked ~ .r label.ctx::before { content: "▼ "; } + #source p input:checked ~ .ctxs { padding: .25em .5em; overflow-y: scroll; max-height: 10.5em; } + #source p label.ctx { color: #999; display: inline-block; padding: 0 .5em; font-size: .8333em; } -#source p .ctxs { display: block; max-height: 0; overflow-y: hidden; transition: all .2s; padding: 0 .5em; font-family: verdana, sans-serif; white-space: nowrap; background: #aaeeff; border-radius: .25em; margin-right: 1.75em; } + +@media (prefers-color-scheme: dark) { #source p label.ctx { color: #777; } } + +#source p .ctxs { display: block; max-height: 0; overflow-y: hidden; transition: all .2s; padding: 0 .5em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; white-space: nowrap; background: #aaeeff; border-radius: .25em; margin-right: 1.75em; } + #source p .ctxs span { display: block; text-align: right; } +#index { font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.875em; } + #index td, #index th { text-align: right; width: 5em; padding: .25em .5em; border-bottom: 1px solid #eee; } + +@media (prefers-color-scheme: dark) { #index td, #index th { border-color: #333; } } + #index td.left, #index th.left { padding-left: 0; } + #index td.right, #index th.right { padding-right: 0; } + #index td.name, #index th.name { text-align: left; width: auto; } -#index th { font-style: italic; color: #333; border-bottom: 1px solid #ccc; cursor: pointer; } -#index th:hover { background: #eee; border-bottom: 1px solid #999; } -#index th.headerSortDown, #index th.headerSortUp { border-bottom: 1px solid #000; white-space: nowrap; background: #eee; } + +#index th { font-style: italic; color: #333; cursor: pointer; } + +@media (prefers-color-scheme: dark) { #index th { color: #ddd; } } + +#index th:hover { background: #eee; } + +@media (prefers-color-scheme: dark) { #index th:hover { background: #333; } } + +#index th.headerSortDown, #index th.headerSortUp { white-space: nowrap; background: #eee; } + +@media (prefers-color-scheme: dark) { #index th.headerSortDown, #index th.headerSortUp { background: #333; } } + #index th.headerSortDown:after { content: " ↓"; } + #index th.headerSortUp:after { content: " ↑"; } -#index td.name a { text-decoration: none; color: #000; } + +#index td.name a { text-decoration: none; color: inherit; } + #index tr.total td, #index tr.total_dynamic td { font-weight: bold; border-top: 1px solid #ccc; border-bottom: none; } -#index tr.file:hover { background: #eeeeee; } -#index tr.file:hover td.name { text-decoration: underline; color: #000; } -#scroll_marker { position: fixed; right: 0; top: 0; width: 16px; height: 100%; background: white; border-left: 1px solid #eee; will-change: transform; } -#scroll_marker .marker { background: #ddd; position: absolute; min-height: 3px; width: 100%; } +#index tr.file:hover { background: #eee; } + +@media (prefers-color-scheme: dark) { #index tr.file:hover { background: #333; } } + +#index tr.file:hover td.name { text-decoration: underline; color: inherit; } + +#scroll_marker { position: fixed; right: 0; top: 0; width: 16px; height: 100%; background: #fff; border-left: 1px solid #eee; will-change: transform; } + +@media (prefers-color-scheme: dark) { #scroll_marker { background: #1e1e1e; } } + +@media (prefers-color-scheme: dark) { #scroll_marker { border-color: #333; } } + +#scroll_marker .marker { background: #ccc; position: absolute; min-height: 3px; width: 100%; } + +@media (prefers-color-scheme: dark) { #scroll_marker .marker { background: #444; } } diff --git a/coverage/htmlfiles/style.scss b/coverage/htmlfiles/style.scss index 901cccc4e..b6efec1b2 100644 --- a/coverage/htmlfiles/style.scss +++ b/coverage/htmlfiles/style.scss @@ -8,6 +8,9 @@ // When working on the file, this command is useful: // sass --watch --style=compact --sourcemap=none --no-cache coverage/htmlfiles/style.scss:htmlcov/style.css +// +// OR you can process sass purely in python with `pip install pysass`, then: +// pysassc --style=compact coverage/htmlfiles/style.scss coverage/htmlfiles/style.css // Ignore this comment, it's for the CSS output file: /* Don't edit this .css file. Edit the .scss file instead! */ @@ -15,6 +18,82 @@ // Dimensions $left-gutter: 3rem; + +// +// Declare colors and variables +// + +$font-normal: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +$font-code: SFMono-Regular, Menlo, Monaco, Consolas, monospace; + +$off-button-lighten: 50%; +$hover-dark-amt: 95%; + +$focus-color: #007acc; + +$mis-color: #ff0000; +$run-color: #00dd00; +$exc-color: #808080; +$par-color: #dddd00; + +$light-bg: #fff; +$light-fg: #000; +$light-gray1: #f8f8f8; +$light-gray2: #eee; +$light-gray3: #ccc; +$light-gray4: #999; +$light-gray5: #666; +$light-gray6: #333; +$light-pln-bg: $light-bg; +$light-mis-bg: #fdd; +$light-run-bg: #dfd; +$light-exc-bg: $light-gray2; +$light-par-bg: #ffa; +$light-token-com: #008000; +$light-token-str: #0451A5; + +$dark-bg: #1e1e1e; +$dark-fg: #eee; +$dark-gray1: #222; +$dark-gray2: #333; +$dark-gray3: #444; +$dark-gray4: #777; +$dark-gray5: #aaa; +$dark-gray6: #ddd; +$dark-pln-bg: $dark-bg; +$dark-mis-bg: #4b1818; +$dark-run-bg: #373d29; +$dark-exc-bg: $dark-gray2; +$dark-par-bg: #650; +$dark-token-com: #6A9955; +$dark-token-str: #9CDCFE; + +// +// Mixins and utilities +// +@mixin background-dark($color) { + @media (prefers-color-scheme: dark) { + background: $color; + } +} +@mixin color-dark($color) { + @media (prefers-color-scheme: dark) { + color: $color; + } +} +@mixin border-color-dark($color) { + @media (prefers-color-scheme: dark) { + border-color: $color; + } +} + +// Add visual outline to navigable elements on focus improve accessibility. +@mixin focus-border { + &:active, &:focus { + outline: 2px dashed $focus-color; + } +} + // Page-wide styles html, body, h1, h2, h3, p, table, td, th { margin: 0; @@ -29,18 +108,25 @@ html, body, h1, h2, h3, p, table, td, th { // Set baseline grid to 16 pt. body { - font-family: georgia, serif; + font-family: $font-normal; font-size: 1em; + background: $light-bg; + color: $light-fg; + @include background-dark($dark-bg); + @include color-dark($dark-fg); } html>body { font-size: 16px; } -// Set base font size to 12/16 +a { + @include focus-border; +} + p { - font-size: .75em; // 12/16 - line-height: 1.33333333em; // 16/12 + font-size: .875em; + line-height: 1.4em; } table { @@ -70,9 +156,11 @@ a.nav { // Page structure #header { - background: #f8f8f8; + background: $light-gray1; + @include background-dark(black); width: 100%; - border-bottom: 1px solid #eee; + border-bottom: 1px solid $light-gray2; + @include border-color-dark($dark-gray2); } .indexfile #footer { @@ -85,9 +173,8 @@ a.nav { #footer .content { padding: 0; - font-size: 85%; - font-family: verdana, sans-serif; - color: #666666; + color: $light-gray5; + @include color-dark($dark-gray5); font-style: italic; } @@ -106,61 +193,77 @@ h1 { } #filter_container { - display: inline-block; float: right; margin: 0 2em 0 0; input { width: 10em; + padding: 0.2em 0.5em; + border: 2px solid $light-gray3; + background: $light-bg; + color: $light-fg; + @include border-color-dark($dark-gray3); + @include background-dark($dark-bg); + @include color-dark($dark-fg); + &:focus { + border-color: $focus-color; + } } } -$pln-color: #ffffff; -$mis-color: #ffdddd; -$run-color: #ddffdd; -$exc-color: #eeeeee; -$par-color: #ffffaa; - -$off-button-lighten: 50%; - h2.stats { margin-top: .5em; font-size: 1em; } -.stats span { - border: 1px solid; +.stats button { + font-family: inherit; + font-size: inherit; + border: 2px solid; border-radius: .1em; + color: inherit; padding: .1em .5em; margin: 0 .1em; cursor: pointer; - border-color: #ccc #999 #999 #ccc; + border-color: $light-gray3; + @include border-color-dark($dark-gray3); + @include focus-border; + + @include focus-border; &.run { - background: mix($run-color, #fff, $off-button-lighten); + background: mix($light-run-bg, $light-bg, $off-button-lighten); + @include background-dark($dark-run-bg); &.show_run { - border-color: #999 #ccc #ccc #999; - background: $run-color; + background: $light-run-bg; + @include background-dark($dark-run-bg); + border-color: $run-color; } } &.mis { - background: mix($mis-color, #fff, $off-button-lighten); + background: mix($light-mis-bg, $light-bg, $off-button-lighten); + @include background-dark($dark-mis-bg); &.show_mis { - border-color: #999 #ccc #ccc #999; - background: $mis-color; + background: $light-mis-bg; + @include background-dark($dark-mis-bg); + border-color: $mis-color; } } &.exc { - background: mix($exc-color, #fff, $off-button-lighten); + background: mix($light-exc-bg, $light-bg, $off-button-lighten); + @include background-dark($dark-exc-bg); &.show_exc { - border-color: #999 #ccc #ccc #999; - background: $exc-color; + background: $light-exc-bg; + @include background-dark($dark-exc-bg); + border-color: $exc-color; } } &.par { - background: mix($par-color, #fff, $off-button-lighten); + background: mix($light-par-bg, $light-bg, $off-button-lighten); + @include background-dark($dark-par-bg); &.show_par { - border-color: #999 #ccc #ccc #999; - background: $par-color; + background: $light-par-bg; + @include background-dark($dark-par-bg); + border-color: $par-color; } } } @@ -173,7 +276,6 @@ h2.stats { background: #ffffcc; border: 1px solid #888; border-radius: .2em; - box-shadow: #cccccc .2em .2em .2em; color: #333; padding: .25em .5em; } @@ -207,12 +309,12 @@ h2.stats { .indexfile & { width: 20em; - height: 4em; + min-height: 4em; } .pyfile & { width: 16em; - height: 8em; + min-height: 8em; } } @@ -228,7 +330,7 @@ h2.stats { border: 1px solid black; border-color: #888 #333 #333 #888; padding: .1em .35em; - font-family: monospace; + font-family: $font-code; font-weight: bold; background: #eee; } @@ -236,13 +338,6 @@ h2.stats { // Source file styles -$hover-dark-amt: 95%; -$pln-hover-color: mix($pln-color, #000, $hover-dark-amt); -$mis-hover-color: mix($mis-color, #000, $hover-dark-amt); -$run-hover-color: mix($run-color, #000, $hover-dark-amt); -$exc-hover-color: mix($exc-color, #000, $hover-dark-amt); -$par-hover-color: mix($par-color, #000, $hover-dark-amt); - // The slim bar at the left edge of the source lines, colored by coverage. $border-indicator-width: .2em; @@ -250,7 +345,7 @@ $context-panel-color: #aaeeff; #source { padding: 1em 0 1em $left-gutter; - font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-family: $font-code; p { // position relative makes position:absolute pop-ups appear in the right place. @@ -268,17 +363,17 @@ $context-panel-color: #aaeeff; box-sizing: border-box; margin-left: -$left-gutter; padding-right: 1em; - color: #999999; - font-family: verdana, sans-serif; + color: $light-gray4; + @include color-dark($dark-gray4); a { text-decoration: none; - color: #999999; - font-size: .8333em; // 10/12 - line-height: 1em; + color: $light-gray4; + @include color-dark($dark-gray4); &:hover { text-decoration: underline; - color: #999999; + color: $light-gray4; + @include color-dark($dark-gray4); } } } @@ -293,10 +388,12 @@ $context-panel-color: #aaeeff; box-sizing: border-box; margin-left: -.5em; padding-left: .5em - $border-indicator-width; - border-left: $border-indicator-width solid white; + border-left: $border-indicator-width solid $light-bg; + @include border-color-dark($dark-bg); &:hover { - background: $pln-hover-color; + background: mix($light-pln-bg, $light-fg, $hover-dark-amt); + @include background-dark(mix($dark-pln-bg, $dark-fg, $hover-dark-amt)); & ~ .r .annotate.long { display: block; @@ -305,7 +402,8 @@ $context-panel-color: #aaeeff; // Syntax coloring .com { - color: green; + color: $light-token-com; + @include color-dark($dark-token-com); font-style: italic; line-height: 1px; } @@ -314,62 +412,71 @@ $context-panel-color: #aaeeff; line-height: 1px; } .str { - color: #000080; + color: $light-token-str; + @include color-dark($dark-token-str); } } &.mis { .t { - border-left: $border-indicator-width solid #ff0000; + border-left: $border-indicator-width solid $mis-color; } &.show_mis .t { - background: $mis-color; + background: $light-mis-bg; + @include background-dark($dark-mis-bg); &:hover { - background: $mis-hover-color; + background: mix($light-mis-bg, $light-fg, $hover-dark-amt); + @include background-dark(mix($dark-mis-bg, $dark-fg, $hover-dark-amt)); } } } &.run { .t { - border-left: $border-indicator-width solid #00ff00; + border-left: $border-indicator-width solid $run-color; } &.show_run .t { - background: $run-color; + background: $light-run-bg; + @include background-dark($dark-run-bg); &:hover { - background: $run-hover-color; + background: mix($light-run-bg, $light-fg, $hover-dark-amt); + @include background-dark(mix($dark-run-bg, $dark-fg, $hover-dark-amt)); } } } &.exc { .t { - border-left: $border-indicator-width solid #808080; + border-left: $border-indicator-width solid $exc-color; } &.show_exc .t { - background: $exc-color; + background: $light-exc-bg; + @include background-dark($dark-exc-bg); &:hover { - background: $exc-hover-color; + background: mix($light-exc-bg, $light-fg, $hover-dark-amt); + @include background-dark(mix($dark-exc-bg, $dark-fg, $hover-dark-amt)); } } } &.par { .t { - border-left: $border-indicator-width solid #eeee99; + border-left: $border-indicator-width solid $par-color; } &.show_par .t { - background: $par-color; + background: $light-par-bg; + @include background-dark($dark-par-bg); &:hover { - background: $par-hover-color; + background: mix($light-par-bg, $light-fg, $hover-dark-amt); + @include background-dark(mix($dark-par-bg, $dark-fg, $hover-dark-amt)); } } @@ -379,12 +486,13 @@ $context-panel-color: #aaeeff; position: absolute; top: 0; right: 2.5em; - font-family: verdana, sans-serif; + font-family: $font-normal; } .annotate { - font-family: georgia; - color: #666; + font-family: $font-normal; + color: $light-gray5; + @include color-dark($dark-gray6); padding-right: .5em; &.short:hover ~ .long { @@ -432,7 +540,8 @@ $context-panel-color: #aaeeff; } label.ctx { - color: #999; + color: $light-gray4; + @include color-dark($dark-gray4); display: inline-block; padding: 0 .5em; font-size: .8333em; // 10/12 @@ -444,7 +553,7 @@ $context-panel-color: #aaeeff; overflow-y: hidden; transition: all .2s; padding: 0 .5em; - font-family: verdana, sans-serif; + font-family: $font-normal; white-space: nowrap; background: $context-panel-color; border-radius: .25em; @@ -460,11 +569,15 @@ $context-panel-color: #aaeeff; // index styles #index { + font-family: $font-code; + font-size: 0.875em; + td, th { text-align: right; width: 5em; padding: .25em .5em; - border-bottom: 1px solid #eee; + border-bottom: 1px solid $light-gray2; + @include border-color-dark($dark-gray2); &.left { padding-left: 0; } @@ -478,17 +591,17 @@ $context-panel-color: #aaeeff; } th { font-style: italic; - color: #333; - border-bottom: 1px solid #ccc; + color: $light-gray6; + @include color-dark($dark-gray6); cursor: pointer; &:hover { - background: #eee; - border-bottom: 1px solid #999; + background: $light-gray2; + @include background-dark($dark-gray2); } &.headerSortDown, &.headerSortUp { - border-bottom: 1px solid #000; white-space: nowrap; - background: #eee; + background: $light-gray2; + @include background-dark($dark-gray2); } &.headerSortDown:after { content: " ↓"; @@ -499,7 +612,7 @@ $context-panel-color: #aaeeff; } td.name a { text-decoration: none; - color: #000; + color: inherit; } tr.total td, @@ -509,10 +622,11 @@ $context-panel-color: #aaeeff; border-bottom: none; } tr.file:hover { - background: #eeeeee; + background: $light-gray2; + @include background-dark($dark-gray2); td.name { text-decoration: underline; - color: #000; + color: inherit; } } } @@ -524,12 +638,15 @@ $context-panel-color: #aaeeff; top: 0; width: 16px; height: 100%; - background: white; - border-left: 1px solid #eee; + background: $light-bg; + border-left: 1px solid $light-gray2; + @include background-dark($dark-bg); + @include border-color-dark($dark-gray2); will-change: transform; // for faster scrolling of fixed element in Chrome .marker { - background: #ddd; + background: $light-gray3; + @include background-dark($dark-gray3); position: absolute; min-height: 3px; width: 100%; diff --git a/tests/gold/html/a/a_py.html b/tests/gold/html/a/a_py.html index 2ce524140..d534c6a34 100644 --- a/tests/gold/html/a/a_py.html +++ b/tests/gold/html/a/a_py.html @@ -22,9 +22,9 @@

Coverage for a.py : Show keyboard shortcuts

3 statements   - 2 run - 1 missing - 0 excluded + + +

diff --git a/tests/gold/html/b_branch/b_py.html b/tests/gold/html/b_branch/b_py.html index ce8bb875e..67a1b83b3 100644 --- a/tests/gold/html/b_branch/b_py.html +++ b/tests/gold/html/b_branch/b_py.html @@ -22,10 +22,10 @@

Coverage for b.py : Show keyboard shortcuts

17 statements   - 14 run - 3 missing - 0 excluded - 4 partial + + + +

diff --git a/tests/gold/html/bom/2/bom_py.html b/tests/gold/html/bom/2/bom_py.html index 3d1c98fbd..74f4f2fee 100644 --- a/tests/gold/html/bom/2/bom_py.html +++ b/tests/gold/html/bom/2/bom_py.html @@ -22,9 +22,9 @@

Coverage for bom.py : Show keyboard shortcuts

7 statements   - 5 run - 2 missing - 0 excluded + + +

diff --git a/tests/gold/html/bom/bom_py.html b/tests/gold/html/bom/bom_py.html index 635f8b514..10b84edec 100644 --- a/tests/gold/html/bom/bom_py.html +++ b/tests/gold/html/bom/bom_py.html @@ -22,9 +22,9 @@

Coverage for bom.py : Show keyboard shortcuts

7 statements   - 5 run - 2 missing - 0 excluded + + +

diff --git a/tests/gold/html/isolatin1/isolatin1_py.html b/tests/gold/html/isolatin1/isolatin1_py.html index 9c12c445d..b344bad6b 100644 --- a/tests/gold/html/isolatin1/isolatin1_py.html +++ b/tests/gold/html/isolatin1/isolatin1_py.html @@ -22,9 +22,9 @@

Coverage for isolatin1.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_1/m1_py.html b/tests/gold/html/omit_1/m1_py.html index 60923930b..57584495c 100644 --- a/tests/gold/html/omit_1/m1_py.html +++ b/tests/gold/html/omit_1/m1_py.html @@ -22,9 +22,9 @@

Coverage for m1.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_1/m2_py.html b/tests/gold/html/omit_1/m2_py.html index de060f321..e8c1791d5 100644 --- a/tests/gold/html/omit_1/m2_py.html +++ b/tests/gold/html/omit_1/m2_py.html @@ -22,9 +22,9 @@

Coverage for m2.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_1/m3_py.html b/tests/gold/html/omit_1/m3_py.html index 76a91a4a9..e714d47f3 100644 --- a/tests/gold/html/omit_1/m3_py.html +++ b/tests/gold/html/omit_1/m3_py.html @@ -22,9 +22,9 @@

Coverage for m3.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_1/main_py.html b/tests/gold/html/omit_1/main_py.html index 9f242537f..28173d12b 100644 --- a/tests/gold/html/omit_1/main_py.html +++ b/tests/gold/html/omit_1/main_py.html @@ -22,9 +22,9 @@

Coverage for main.py : Show keyboard shortcuts

8 statements   - 8 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_2/m2_py.html b/tests/gold/html/omit_2/m2_py.html index de060f321..e8c1791d5 100644 --- a/tests/gold/html/omit_2/m2_py.html +++ b/tests/gold/html/omit_2/m2_py.html @@ -22,9 +22,9 @@

Coverage for m2.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_2/m3_py.html b/tests/gold/html/omit_2/m3_py.html index 76a91a4a9..e714d47f3 100644 --- a/tests/gold/html/omit_2/m3_py.html +++ b/tests/gold/html/omit_2/m3_py.html @@ -22,9 +22,9 @@

Coverage for m3.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_2/main_py.html b/tests/gold/html/omit_2/main_py.html index 9f242537f..28173d12b 100644 --- a/tests/gold/html/omit_2/main_py.html +++ b/tests/gold/html/omit_2/main_py.html @@ -22,9 +22,9 @@

Coverage for main.py : Show keyboard shortcuts

8 statements   - 8 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_3/m3_py.html b/tests/gold/html/omit_3/m3_py.html index 76a91a4a9..e714d47f3 100644 --- a/tests/gold/html/omit_3/m3_py.html +++ b/tests/gold/html/omit_3/m3_py.html @@ -22,9 +22,9 @@

Coverage for m3.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_3/main_py.html b/tests/gold/html/omit_3/main_py.html index 9f242537f..28173d12b 100644 --- a/tests/gold/html/omit_3/main_py.html +++ b/tests/gold/html/omit_3/main_py.html @@ -22,9 +22,9 @@

Coverage for main.py : Show keyboard shortcuts

8 statements   - 8 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_4/m1_py.html b/tests/gold/html/omit_4/m1_py.html index 60923930b..57584495c 100644 --- a/tests/gold/html/omit_4/m1_py.html +++ b/tests/gold/html/omit_4/m1_py.html @@ -22,9 +22,9 @@

Coverage for m1.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_4/m3_py.html b/tests/gold/html/omit_4/m3_py.html index 76a91a4a9..e714d47f3 100644 --- a/tests/gold/html/omit_4/m3_py.html +++ b/tests/gold/html/omit_4/m3_py.html @@ -22,9 +22,9 @@

Coverage for m3.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_4/main_py.html b/tests/gold/html/omit_4/main_py.html index 9f242537f..28173d12b 100644 --- a/tests/gold/html/omit_4/main_py.html +++ b/tests/gold/html/omit_4/main_py.html @@ -22,9 +22,9 @@

Coverage for main.py : Show keyboard shortcuts

8 statements   - 8 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_5/m1_py.html b/tests/gold/html/omit_5/m1_py.html index 60923930b..57584495c 100644 --- a/tests/gold/html/omit_5/m1_py.html +++ b/tests/gold/html/omit_5/m1_py.html @@ -22,9 +22,9 @@

Coverage for m1.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/omit_5/main_py.html b/tests/gold/html/omit_5/main_py.html index 9f242537f..28173d12b 100644 --- a/tests/gold/html/omit_5/main_py.html +++ b/tests/gold/html/omit_5/main_py.html @@ -22,9 +22,9 @@

Coverage for main.py : Show keyboard shortcuts

8 statements   - 8 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/other/blah_blah_other_py.html b/tests/gold/html/other/blah_blah_other_py.html index d3a4ebfc3..8f0309d49 100644 --- a/tests/gold/html/other/blah_blah_other_py.html +++ b/tests/gold/html/other/blah_blah_other_py.html @@ -22,9 +22,9 @@

Coverage for /private/var/folders/j2/gr3cj3jn63s5q8g3bjvw57hm0000gp/T/cov Show keyboard shortcuts

1 statements   - 1 run - 0 missing - 0 excluded + + +

diff --git a/tests/gold/html/other/here_py.html b/tests/gold/html/other/here_py.html index df2715d6f..c2f6b5f1f 100644 --- a/tests/gold/html/other/here_py.html +++ b/tests/gold/html/other/here_py.html @@ -22,9 +22,9 @@

Coverage for here.py : Show keyboard shortcuts

4 statements   - 3 run - 1 missing - 0 excluded + + +

diff --git a/tests/gold/html/partial/partial_py.html b/tests/gold/html/partial/partial_py.html index f004808a2..abd755d00 100644 --- a/tests/gold/html/partial/partial_py.html +++ b/tests/gold/html/partial/partial_py.html @@ -22,10 +22,10 @@

Coverage for partial.py : Show keyboard shortcuts

7 statements   - 7 run - 0 missing - 1 excluded - 1 partial + + + +

diff --git a/tests/gold/html/styled/a_py.html b/tests/gold/html/styled/a_py.html index 4687e4642..7b6f9dcdd 100644 --- a/tests/gold/html/styled/a_py.html +++ b/tests/gold/html/styled/a_py.html @@ -23,9 +23,9 @@

Coverage for a.py : Show keyboard shortcuts

3 statements   - 2 run - 1 missing - 0 excluded + + +

diff --git a/tests/gold/html/styled/style.css b/tests/gold/html/styled/style.css index e8ff57657..ab9dbcb9d 100644 --- a/tests/gold/html/styled/style.css +++ b/tests/gold/html/styled/style.css @@ -4,11 +4,17 @@ /* Don't edit this .css file. Edit the .scss file instead! */ html, body, h1, h2, h3, p, table, td, th { margin: 0; padding: 0; border: 0; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; } -body { font-family: georgia, serif; font-size: 1em; } +body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 1em; background: #fff; color: #000; } + +@media (prefers-color-scheme: dark) { body { background: #1e1e1e; } } + +@media (prefers-color-scheme: dark) { body { color: #eee; } } html > body { font-size: 16px; } -p { font-size: .75em; line-height: 1.33333333em; } +a:active, a:focus { outline: 2px dashed #007acc; } + +p { font-size: .875em; line-height: 1.4em; } table { border-collapse: collapse; } @@ -19,15 +25,22 @@ table tr.hidden { display: none !important; } p#no_rows { display: none; font-size: 1.2em; } a.nav { text-decoration: none; color: inherit; } + a.nav:hover { text-decoration: underline; color: inherit; } #header { background: #f8f8f8; width: 100%; border-bottom: 1px solid #eee; } +@media (prefers-color-scheme: dark) { #header { background: black; } } + +@media (prefers-color-scheme: dark) { #header { border-color: #333; } } + .indexfile #footer { margin: 1em 3em; } .pyfile #footer { margin: 1em 1em; } -#footer .content { padding: 0; font-size: 85%; font-family: verdana, sans-serif; color: #666666; font-style: italic; } +#footer .content { padding: 0; color: #666; font-style: italic; } + +@media (prefers-color-scheme: dark) { #footer .content { color: #aaa; } } #index { margin: 1em 0 0 3em; } @@ -35,90 +48,236 @@ a.nav:hover { text-decoration: underline; color: inherit; } h1 { font-size: 1.25em; display: inline-block; } -#filter_container { display: inline-block; float: right; margin: 0 2em 0 0; } -#filter_container input { width: 10em; } +#filter_container { float: right; margin: 0 2em 0 0; } + +#filter_container input { width: 10em; padding: 0.2em 0.5em; border: 2px solid #ccc; background: #fff; color: #000; } + +@media (prefers-color-scheme: dark) { #filter_container input { border-color: #444; } } + +@media (prefers-color-scheme: dark) { #filter_container input { background: #1e1e1e; } } + +@media (prefers-color-scheme: dark) { #filter_container input { color: #eee; } } + +#filter_container input:focus { border-color: #007acc; } h2.stats { margin-top: .5em; font-size: 1em; } -.stats span { border: 1px solid; border-radius: .1em; padding: .1em .5em; margin: 0 .1em; cursor: pointer; border-color: #ccc #999 #999 #ccc; } -.stats span.run { background: #eeffee; } -.stats span.run.show_run { border-color: #999 #ccc #ccc #999; background: #ddffdd; } -.stats span.mis { background: #ffeeee; } -.stats span.mis.show_mis { border-color: #999 #ccc #ccc #999; background: #ffdddd; } -.stats span.exc { background: #f7f7f7; } -.stats span.exc.show_exc { border-color: #999 #ccc #ccc #999; background: #eeeeee; } -.stats span.par { background: #ffffd5; } -.stats span.par.show_par { border-color: #999 #ccc #ccc #999; background: #ffffaa; } +.stats button { font-family: inherit; font-size: inherit; border: 2px solid; border-radius: .1em; color: inherit; padding: .1em .5em; margin: 0 .1em; cursor: pointer; border-color: #ccc; } + +@media (prefers-color-scheme: dark) { .stats button { border-color: #444; } } + +.stats button:active, .stats button:focus { outline: 2px dashed #007acc; } + +.stats button:active, .stats button:focus { outline: 2px dashed #007acc; } + +.stats button.run { background: #eeffee; } + +@media (prefers-color-scheme: dark) { .stats button.run { background: #373d29; } } + +.stats button.run.show_run { background: #dfd; border-color: #00dd00; } + +@media (prefers-color-scheme: dark) { .stats button.run.show_run { background: #373d29; } } + +.stats button.mis { background: #ffeeee; } + +@media (prefers-color-scheme: dark) { .stats button.mis { background: #4b1818; } } + +.stats button.mis.show_mis { background: #fdd; border-color: #ff0000; } + +@media (prefers-color-scheme: dark) { .stats button.mis.show_mis { background: #4b1818; } } + +.stats button.exc { background: #f7f7f7; } + +@media (prefers-color-scheme: dark) { .stats button.exc { background: #333; } } + +.stats button.exc.show_exc { background: #eee; border-color: #808080; } + +@media (prefers-color-scheme: dark) { .stats button.exc.show_exc { background: #333; } } + +.stats button.par { background: #ffffd5; } -#source p .annotate.long, .help_panel { display: none; position: absolute; z-index: 999; background: #ffffcc; border: 1px solid #888; border-radius: .2em; box-shadow: #cccccc .2em .2em .2em; color: #333; padding: .25em .5em; } +@media (prefers-color-scheme: dark) { .stats button.par { background: #650; } } + +.stats button.par.show_par { background: #ffa; border-color: #dddd00; } + +@media (prefers-color-scheme: dark) { .stats button.par.show_par { background: #650; } } + +.help_panel, #source p .annotate.long { display: none; position: absolute; z-index: 999; background: #ffffcc; border: 1px solid #888; border-radius: .2em; color: #333; padding: .25em .5em; } #source p .annotate.long { white-space: normal; float: right; top: 1.75em; right: 1em; height: auto; } #keyboard_icon { float: right; margin: 5px; cursor: pointer; } .help_panel { padding: .5em; border: 1px solid #883; } + .help_panel .legend { font-style: italic; margin-bottom: 1em; } -.indexfile .help_panel { width: 20em; height: 4em; } -.pyfile .help_panel { width: 16em; height: 8em; } + +.indexfile .help_panel { width: 20em; min-height: 4em; } + +.pyfile .help_panel { width: 16em; min-height: 8em; } #panel_icon { float: right; cursor: pointer; } .keyhelp { margin: .75em; } -.keyhelp .key { border: 1px solid black; border-color: #888 #333 #333 #888; padding: .1em .35em; font-family: monospace; font-weight: bold; background: #eee; } -#source { padding: 1em 0 1em 3rem; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } +.keyhelp .key { border: 1px solid black; border-color: #888 #333 #333 #888; padding: .1em .35em; font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-weight: bold; background: #eee; } + +#source { padding: 1em 0 1em 3rem; font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; } + #source p { position: relative; white-space: pre; } + #source p * { box-sizing: border-box; } -#source p .n { float: left; text-align: right; width: 3rem; box-sizing: border-box; margin-left: -3rem; padding-right: 1em; color: #999999; font-family: verdana, sans-serif; } -#source p .n a { text-decoration: none; color: #999999; font-size: .8333em; line-height: 1em; } -#source p .n a:hover { text-decoration: underline; color: #999999; } + +#source p .n { float: left; text-align: right; width: 3rem; box-sizing: border-box; margin-left: -3rem; padding-right: 1em; color: #999; } + +@media (prefers-color-scheme: dark) { #source p .n { color: #777; } } + +#source p .n a { text-decoration: none; color: #999; } + +@media (prefers-color-scheme: dark) { #source p .n a { color: #777; } } + +#source p .n a:hover { text-decoration: underline; color: #999; } + +@media (prefers-color-scheme: dark) { #source p .n a:hover { color: #777; } } + #source p.highlight .n { background: #ffdd00; } -#source p .t { display: inline-block; width: 100%; box-sizing: border-box; margin-left: -.5em; padding-left: 0.3em; border-left: 0.2em solid white; } + +#source p .t { display: inline-block; width: 100%; box-sizing: border-box; margin-left: -.5em; padding-left: 0.3em; border-left: 0.2em solid #fff; } + +@media (prefers-color-scheme: dark) { #source p .t { border-color: #1e1e1e; } } + #source p .t:hover { background: #f2f2f2; } + +@media (prefers-color-scheme: dark) { #source p .t:hover { background: #282828; } } + #source p .t:hover ~ .r .annotate.long { display: block; } -#source p .t .com { color: green; font-style: italic; line-height: 1px; } + +#source p .t .com { color: #008000; font-style: italic; line-height: 1px; } + +@media (prefers-color-scheme: dark) { #source p .t .com { color: #6A9955; } } + #source p .t .key { font-weight: bold; line-height: 1px; } -#source p .t .str { color: #000080; } + +#source p .t .str { color: #0451A5; } + +@media (prefers-color-scheme: dark) { #source p .t .str { color: #9CDCFE; } } + #source p.mis .t { border-left: 0.2em solid #ff0000; } -#source p.mis.show_mis .t { background: #ffdddd; } + +#source p.mis.show_mis .t { background: #fdd; } + +@media (prefers-color-scheme: dark) { #source p.mis.show_mis .t { background: #4b1818; } } + #source p.mis.show_mis .t:hover { background: #f2d2d2; } -#source p.run .t { border-left: 0.2em solid #00ff00; } -#source p.run.show_run .t { background: #ddffdd; } + +@media (prefers-color-scheme: dark) { #source p.mis.show_mis .t:hover { background: #532323; } } + +#source p.run .t { border-left: 0.2em solid #00dd00; } + +#source p.run.show_run .t { background: #dfd; } + +@media (prefers-color-scheme: dark) { #source p.run.show_run .t { background: #373d29; } } + #source p.run.show_run .t:hover { background: #d2f2d2; } + +@media (prefers-color-scheme: dark) { #source p.run.show_run .t:hover { background: #404633; } } + #source p.exc .t { border-left: 0.2em solid #808080; } -#source p.exc.show_exc .t { background: #eeeeee; } + +#source p.exc.show_exc .t { background: #eee; } + +@media (prefers-color-scheme: dark) { #source p.exc.show_exc .t { background: #333; } } + #source p.exc.show_exc .t:hover { background: #e2e2e2; } -#source p.par .t { border-left: 0.2em solid #eeee99; } -#source p.par.show_par .t { background: #ffffaa; } + +@media (prefers-color-scheme: dark) { #source p.exc.show_exc .t:hover { background: #3c3c3c; } } + +#source p.par .t { border-left: 0.2em solid #dddd00; } + +#source p.par.show_par .t { background: #ffa; } + +@media (prefers-color-scheme: dark) { #source p.par.show_par .t { background: #650; } } + #source p.par.show_par .t:hover { background: #f2f2a2; } -#source p .r { position: absolute; top: 0; right: 2.5em; font-family: verdana, sans-serif; } -#source p .annotate { font-family: georgia; color: #666; padding-right: .5em; } + +@media (prefers-color-scheme: dark) { #source p.par.show_par .t:hover { background: #6d5d0c; } } + +#source p .r { position: absolute; top: 0; right: 2.5em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; } + +#source p .annotate { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; color: #666; padding-right: .5em; } + +@media (prefers-color-scheme: dark) { #source p .annotate { color: #ddd; } } + #source p .annotate.short:hover ~ .long { display: block; } + #source p .annotate.long { width: 30em; right: 2.5em; } + #source p input { display: none; } + #source p input ~ .r label.ctx { cursor: pointer; border-radius: .25em; } + #source p input ~ .r label.ctx::before { content: "▶ "; } + #source p input ~ .r label.ctx:hover { background: #d5f7ff; color: #666; } + #source p input:checked ~ .r label.ctx { background: #aaeeff; color: #666; border-radius: .75em .75em 0 0; padding: 0 .5em; margin: -.25em 0; } + #source p input:checked ~ .r label.ctx::before { content: "▼ "; } + #source p input:checked ~ .ctxs { padding: .25em .5em; overflow-y: scroll; max-height: 10.5em; } + #source p label.ctx { color: #999; display: inline-block; padding: 0 .5em; font-size: .8333em; } -#source p .ctxs { display: block; max-height: 0; overflow-y: hidden; transition: all .2s; padding: 0 .5em; font-family: verdana, sans-serif; white-space: nowrap; background: #aaeeff; border-radius: .25em; margin-right: 1.75em; } + +@media (prefers-color-scheme: dark) { #source p label.ctx { color: #777; } } + +#source p .ctxs { display: block; max-height: 0; overflow-y: hidden; transition: all .2s; padding: 0 .5em; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; white-space: nowrap; background: #aaeeff; border-radius: .25em; margin-right: 1.75em; } + #source p .ctxs span { display: block; text-align: right; } +#index { font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.875em; } + #index td, #index th { text-align: right; width: 5em; padding: .25em .5em; border-bottom: 1px solid #eee; } + +@media (prefers-color-scheme: dark) { #index td, #index th { border-color: #333; } } + #index td.left, #index th.left { padding-left: 0; } + #index td.right, #index th.right { padding-right: 0; } + #index td.name, #index th.name { text-align: left; width: auto; } -#index th { font-style: italic; color: #333; border-bottom: 1px solid #ccc; cursor: pointer; } -#index th:hover { background: #eee; border-bottom: 1px solid #999; } -#index th.headerSortDown, #index th.headerSortUp { border-bottom: 1px solid #000; white-space: nowrap; background: #eee; } + +#index th { font-style: italic; color: #333; cursor: pointer; } + +@media (prefers-color-scheme: dark) { #index th { color: #ddd; } } + +#index th:hover { background: #eee; } + +@media (prefers-color-scheme: dark) { #index th:hover { background: #333; } } + +#index th.headerSortDown, #index th.headerSortUp { white-space: nowrap; background: #eee; } + +@media (prefers-color-scheme: dark) { #index th.headerSortDown, #index th.headerSortUp { background: #333; } } + #index th.headerSortDown:after { content: " ↓"; } + #index th.headerSortUp:after { content: " ↑"; } -#index td.name a { text-decoration: none; color: #000; } + +#index td.name a { text-decoration: none; color: inherit; } + #index tr.total td, #index tr.total_dynamic td { font-weight: bold; border-top: 1px solid #ccc; border-bottom: none; } -#index tr.file:hover { background: #eeeeee; } -#index tr.file:hover td.name { text-decoration: underline; color: #000; } -#scroll_marker { position: fixed; right: 0; top: 0; width: 16px; height: 100%; background: white; border-left: 1px solid #eee; will-change: transform; } -#scroll_marker .marker { background: #ddd; position: absolute; min-height: 3px; width: 100%; } +#index tr.file:hover { background: #eee; } + +@media (prefers-color-scheme: dark) { #index tr.file:hover { background: #333; } } + +#index tr.file:hover td.name { text-decoration: underline; color: inherit; } + +#scroll_marker { position: fixed; right: 0; top: 0; width: 16px; height: 100%; background: #fff; border-left: 1px solid #eee; will-change: transform; } + +@media (prefers-color-scheme: dark) { #scroll_marker { background: #1e1e1e; } } + +@media (prefers-color-scheme: dark) { #scroll_marker { border-color: #333; } } + +#scroll_marker .marker { background: #ccc; position: absolute; min-height: 3px; width: 100%; } + +@media (prefers-color-scheme: dark) { #scroll_marker .marker { background: #444; } } diff --git a/tests/gold/html/unicode/unicode_py.html b/tests/gold/html/unicode/unicode_py.html index 467229616..a4218bcc9 100644 --- a/tests/gold/html/unicode/unicode_py.html +++ b/tests/gold/html/unicode/unicode_py.html @@ -22,9 +22,9 @@

Coverage for unicode.py : Show keyboard shortcuts

2 statements   - 2 run - 0 missing - 0 excluded + + +