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

jstedfast / HtmlKit
98%

Build:
DEFAULT BRANCH: master
Repo Added 27 Jun 2015 01:00PM UTC
Files 14
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 master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • HEAD
  • dependabot/nuget/UnitTests/NUnit-4.4.0
  • master
  • refs/pull/68/merge
  • refs/tags/1.3.0

08 Oct 2026 09:34PM UTC coverage: 97.955% (-0.4%) from 98.348%
1.3.0.379

push

coveralls.net

jstedfast
Bulk-scan more HtmlTokenizer states and stop breaking scans at newlines

The Data, RCDATA, RAWTEXT, script data, comment and bogus comment states
now use TryReadDataUntil/TryReadNameUntil (SearchValues<char> on net8+) to
scan in bulk instead of reading one character at a time.

The bulk scanners no longer require '\n' to be in the set of special
characters. Instead, line numbers and positions are updated for each
consumed run using LastIndexOf('\n') and Count('\n'), so newline-heavy
input no longer forces a scan restart on every line.

Tag names, attribute names and unquoted attribute values still use
per-character reads; they are short enough that bulk scanning measured
the same or slower.

Token output (kinds, names, attributes, data, line numbers and positions)
is identical to the previous implementation across all of the HTML test
data plus a synthetic edge-case input.

Best-of-N tokenizer timings (net10.0, interleaved A/B):

  test.html: 472-496 us -> 355-388 us (~20-25% faster)
  Gimhae:    201-204 us -> 179-195 us (~5-12% faster)

Pathological 4 MB inputs (before -> after):

  all '\n'                30.2 ms -> 4.6 ms
  "\r\n" lines            22.7 ms -> 5.7 ms
  "<p>\n" repeated       102.5 ms -> 53.3 ms
  '\n' in a comment       28.1 ms -> 12.0 ms
  '\n' in an attr value   37.0 ms -> 13.7 ms
  '\n' in <plaintext>     23.6 ms -> 7.3 ms

Inputs made only of special characters ("&&&", "<<<") are within noise
of the previous implementation, and every case scales linearly.

3448 of 3520 relevant lines covered (97.95%)

0.98 hits per line

Relevant lines Covered
Build:
Build:
3520 RELEVANT LINES 3448 COVERED LINES
0.98 HITS PER LINE
Source Files on master
  • Tree
  • List 14
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
1.3.0.379 master Bulk-scan more HtmlTokenizer states and stop breaking scans at newlines The Data, RCDATA, RAWTEXT, script data, comment and bogus comment states now use TryReadDataUntil/TryReadNameUntil (SearchValues<char> on net8+) to scan in bulk instead of re... push 08 Oct 2026 09:37PM UTC jstedfast coveralls.net
97.95
1.3.0.378 master Synced with MimeKit's latest HtmlTokenizer and HtmlWriter Imported from MimeKit commit fa63eb81 (Sync HtmlTokenizer performance improvements from HtmlKit) using scripts/import-from-mimekit.ps1. Co-authored-by: Copilot <223556219+Copilot@users.no... push 08 Oct 2026 08:02PM UTC jstedfast coveralls.net
98.35
1.3.0.377 refs/tags/1.3.0 Bumped version to 1.3.0 push 24 Sep 2026 03:21PM UTC jstedfast coveralls.net
98.71
1.3.0.376 master Bumped version to 1.3.0 push 24 Sep 2026 03:21PM UTC jstedfast coveralls.net
98.71
1.2.0.375 master Bumped project dependencies (NUnit, AltCover, etc) push 24 Sep 2026 02:37PM UTC jstedfast coveralls.net
98.71
1.2.0.372 master Merge pull request #102 from jstedfast/dependabot/nuget/Benchmarks/AngleSharp-1.5.0 push 26 Jul 2026 10:32AM UTC web-flow coveralls.net
98.71
1.2.0.369 master Updated Benchmarking and UnitTesting nuget frameworks push 13 May 2026 02:18PM UTC jstedfast coveralls.net
98.71
1.2.0.368 master Change Dependabot directory for NuGet updates Change the directory for NuGet updates to 'HtmlKit'. push 13 May 2026 02:16PM UTC web-flow coveralls.net
98.71
1.2.0.359 master Merge pull request #97 from jstedfast/dependabot/nuget/UnitTests/NUnit3TestAdapter-6.2.0 Bump NUnit3TestAdapter from 6.1.0 to 6.2.0 push 23 Mar 2026 02:06PM UTC web-flow coveralls.net
98.71
1.2.0.354 master Merge pull request #95 from jstedfast/dependabot/nuget/UnitTests/NUnit.Analyzers-4.12.0 Bump NUnit.Analyzers from 4.11.2 to 4.12.0 push 10 Mar 2026 01:52PM UTC web-flow coveralls.net
98.71
See All Builds (213)
  • 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