lmd
Version:
LMD: Lazy Module Declaration
253 lines (207 loc) • 14.5 kB
text/jade
!!! 5
html
head
title
| LMD Stats /
|
| /
|
link(rel='stylesheet', href='/main.css')
if (options.highlight)
link(rel='stylesheet', href='/vendors/highlight/styles/#{options.highlight || "idea"}.css')
script(src='/vendors/highlight/highlight.pack.js')
script(src='http://yandex.st/jquery/1.7.2/jquery.min.js')
script(src='/main.js')
script hljs.initHighlightingOnLoad();
body
.b-layout
.g-12
.g-row.b-head
.g-first.g-col-1.g-span-2.b-head__title
a.b-head__title_type_logo(href='/') LMD Stats
.g-col-3.g-span-10.b-head__title
a.b-head__title_type_report(href="/report/#{name}")
&
span.b-head__title_type_module=module
if (report.coverage)
.g-row.b-summary
.g-col-1.g-span-4.b-summary__item
.b-summary__item__title Statements
if (report.coverage.lines.percentage < 50)
.b-summary__item__percentage.b-summary__item__percentage_coverage_lt-50 #{report.coverage.lines.percentage.toFixed(2)}%
else if (report.coverage.lines.percentage < 75)
.b-summary__item__percentage.b-summary__item__percentage_coverage_lt-75
else if (report.coverage.lines.percentage < 100)
.b-summary__item__percentage.b-summary__item__percentage_coverage_lt-100
else
.b-summary__item__percentage.b-summary__item__percentage_coverage_100
.g-col-5.g-span-4.b-summary__item
.b-summary__item__title Functions
if (report.coverage.functions.percentage < 50)
.b-summary__item__percentage.b-summary__item__percentage_coverage_lt-50 #{report.coverage.functions.percentage.toFixed(2)}%
else if (report.coverage.functions.percentage < 75)
.b-summary__item__percentage.b-summary__item__percentage_coverage_lt-75
else if (report.coverage.functions.percentage < 100.0)
.b-summary__item__percentage.b-summary__item__percentage_coverage_lt-100
else
.b-summary__item__percentage.b-summary__item__percentage_coverage_100
.g-col-9.g-span-4.b-summary__item
.b-summary__item__title Conditions
if (report.coverage.conditions.percentage < 50)
.b-summary__item__percentage.b-summary__item__percentage_coverage_lt-50 #{report.coverage.conditions.percentage.toFixed(2)}%
else if (report.coverage.conditions.percentage < 75)
.b-summary__item__percentage.b-summary__item__percentage_coverage_lt-75
else if (report.coverage.conditions.percentage < 100.0)
.b-summary__item__percentage.b-summary__item__percentage_coverage_lt-100
else
.b-summary__item__percentage.b-summary__item__percentage_coverage_100
if (report.coverage && report.coverage.report)
- var MAX_ITEMS = 10
- var functions = []
- var functionsMore = []
- var statements = []
- var statementsMore = []
- var conditions = []
- var conditionsMore = []
each reportItem, lineNumber in report.coverage.report
if (reportItem.lines === false)
- var line = '<a class="b-notes__tags__item" href="#L' + lineNumber + '">' + lineNumber + '</a>'
if (statements.length < MAX_ITEMS)
- statements.push(line)
else
- statementsMore.push(line)
if (reportItem.functions)
each functionName in reportItem.functions
- var line = '<a class="b-notes__tags__item" href="#L' + lineNumber + '">' + functionName + ':' + lineNumber + '</a>'
if (functions.length < MAX_ITEMS)
- functions.push(line)
else
- functionsMore.push(line)
if (reportItem.conditions)
each condition in reportItem.conditions
- var line = '<a class="b-notes__tags__item" href="#L' + lineNumber + '">f=' + condition[0] + ',t=' + condition[1] + ':' + lineNumber + '</a>'
if (functions.length < MAX_ITEMS)
- conditions.push(line)
else
- statementsMore.push(line)
if (functions.length || statements.length || conditions.length)
.g-first.g-col-1.g-span-12.b-title Notes
.g-first.g-col-1.g-span-12.b-notes
if (statements.length)
.b-notes__section
span.b-label.b-label_size_normal.b-label_type_statement Statements
 
span.b-notes__tags
!{statements.join(', ')}
if (statementsMore.length)
a.b-notes__more(href="#")
span.b-notes__tags.b-notes__tags_type_more.i-hidden
!{statementsMore.join(', ')}
if (functions.length)
.b-notes__section
span.b-label.b-label_size_normal.b-label_type_function Functions
&
span.js-functions.b-notes__tags
!{functions.join(', ')}
if (functionsMore.length)
a.b-notes__more(href="#")
span.b-notes__tags.b-notes__tags_type_more.i-hidden
!{functionsMore.join(', ')}
if (conditions.length)
.b-notes__section
span.b-label.b-label_size_normal.b-label_type_condition Conditions
&
span.js-conditions.b-notes__tags
!{conditions.join(', ')}
if (conditionsMore.length)
a.b-notes__more(href="#")
span.b-notes__tags.b-notes__tags_type_more.i-hidden
!{conditionsMore.join(', ')}
if (report.moduleAccessTimes && Object.keys(report.moduleAccessTimes).length)
.g-first.g-col-1.g-span-12.b-title="Module required by"
.g-first.g-col-1.g-span-12
table.b-timeline(cellspacing="0", cellpadding="0")
colgroup
col(width='5%')
col(width='5%')
col(width='85%')
thead
tr.b-source__head
th Name
th #
th Timeline
tbody
- var maxTime = 0
each moduleAccessTimes, moduleName in report.moduleAccessTimes
each moduleAccessTime, index in moduleAccessTimes
if moduleAccessTime > maxTime
- maxTime = moduleAccessTime
each moduleAccessTimes, moduleName in report.moduleAccessTimes
- var moduleStats = full_report.modules[moduleName]
if (moduleStats && moduleStats.name === moduleName)
tr.b-timeline__line
td.b-timeline__name
if (moduleStats.shortcuts)
each shortcutName, index in moduleStats.shortcuts
if (index)
|,
a(href='/report/#{name}/module/#{shortcutName.replace(/\//g, "%2F")}')
| →
a(href='/report/#{name}/module/#{moduleName.replace(/\//g, "%2F")}')
td.b-timeline__count=moduleAccessTimes.length
td
.b-timeline__wrapper
- var requiresNumber = moduleAccessTimes.length
each moduleAccessTime, index in moduleAccessTimes
- var percent = (moduleAccessTime / maxTime * 100).toFixed(2)
- var time = (moduleAccessTime / 1000).toFixed(2) + "s"
.b-timeline__item(style="margin-left: #{percent}%;", title="#{time}")=time
if (report.type !== "global")
- var is_report = report.coverage && report.coverage.report
.g-first.g-col-1.g-span-12.b-title
if (!is_report)
= "No coverage report"
else
= "Module coverage report"
.g-first.g-col-1.g-span-12
table.b-source(cellspacing="0", cellpadding="0")
colgroup
col(width='5%')
col(width='5%')
col(width='5%')
col(width='85%')
thead
tr.b-source__head
th.b-source__head__item Run
th.b-source__head__item Notes
th.b-source__head__item.b-source__head__item_type_line
th.b-source__head__item
tbody
- var lineNumber = 0;
- for (; lineNumber < lines; lineNumber++)
- var lineClass = "b-source__line"
- var lineId = 'L' + (lineNumber + 1)
- if (is_report && report.coverage.report[lineNumber+1])
- lineClass += " b-source__line_state_warning"
tr(id=lineId, class=lineClass)
td.b-source__line__item.b-source__line__item_type_call
if (is_report)
#{report.runLines[lineNumber+1] || ' '}
else
td.b-source__line__item.b-source__line__item_type_notes
if (is_report)
if (report.coverage.report[lineNumber+1])
if report.coverage.report[lineNumber+1].functions
span.b-label.b-label_type_function F
if report.coverage.report[lineNumber+1].conditions
span.b-label.b-label_type_condition C
if report.coverage.report[lineNumber+1].lines === false
span.b-label.b-label_type_statement S
else
span.b-label NO INFO
td.b-source__line__item.b-source__line__item_type_line=lineNumber+1
if (lineNumber === 0)
td.b-source__line__item.b-source__line__item_type_code(rowspan='#{lines}')
pre
code.javascript=code