• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

nette / mail
89%
master: 89%

Build:
Build:
LAST BUILD BRANCH: v4.2.0
DEFAULT BRANCH: master
Repo Added 25 Jan 2021 12:42AM UTC
Files 17
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH v4.1.3
branch: v4.1.3
CHANGE BRANCH
x
Reset
  • v4.1.3
  • master
  • v3.1
  • v3.1.10
  • v3.1.11
  • v3.1.6
  • v3.1.7
  • v3.1.8
  • v3.1.9
  • v4.0
  • v4.0.0
  • v4.0.0-RC1
  • v4.0.1
  • v4.0.2
  • v4.0.3
  • v4.0.4
  • v4.1.0
  • v4.1.1
  • v4.2.0

27 Jul 2026 03:28PM UTC coverage: 89.164%. First build
30280953989

push

github

dg
CssInliner: resolves declarations by the CSS cascade

Rules were applied in the order they appeared, so the last one to mention a
property won. A browser does not work that way: p.intro { color: red } followed
by p { color: blue } paints the intro red, while the inliner painted it blue.
The inlined mail therefore looked different from the page the CSS was written
for, and the more carefully the stylesheet was written, the more it diverged.

Declarations now compete the way they do in an author stylesheet: !important
first, then an existing inline style, then specificity, ties going to the later
rule. Each selector in a comma-separated list carries its own specificity, and
one part the DOM engine rejects (::marker) no longer discards the whole rule.
The argument of an ordinary functional pseudo-class is a keyword or an An+B
expression, not a selector, so the idents in :nth-child(odd) or :nth-child(-n+3)
do not count as type selectors; counting them would inflate specificity enough
to flip a winner.

Only the winner of each property is written out, so a property appears in the
style attribute once rather than several times with the earlier values trailing.
HTML attributes generated for Outlook (bgcolor, width) drop the !important
marker, which has no meaning in an attribute.

A '}' inside a style attribute would close the block the attribute is wrapped in
for parsing and turn the remainder into rules of its own, read back as the
element's inline declarations. Such an attribute is not a plain declaration list
and is kept verbatim.

683 of 766 relevant lines covered (89.16%)

0.89 hits per line

Relevant lines Covered
Build:
Build:
766 RELEVANT LINES 683 COVERED LINES
0.89 HITS PER LINE
Source Files on v4.1.3
  • Tree
  • List 17
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
30280953989 v4.1.3 CssInliner: resolves declarations by the CSS cascade Rules were applied in the order they appeared, so the last one to mention a property won. A browser does not work that way: p.intro { color: red } followed by p { color: blue } paints the intro... push 27 Jul 2026 03:38PM UTC dg github
89.16
See All Builds (167)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc