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

kettle-rb / ast-merge / 20738076991
94%

Build:
DEFAULT BRANCH: main
Ran 06 Jan 2026 04:31AM UTC
Jobs 1
Files 47
Run time 1min
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

06 Jan 2026 04:29AM UTC coverage: 95.038% (-0.04%) from 95.078%
20738076991

push

github

pboling
💥 New features and breaking changes

### Added

- `TestableNode` spec helper class that wraps a mock in a real `TreeHaver::Node`, providing consistent API testing without relying on fragile mocks
- `Recipe::Preset#match_refiner` accessor method (was missing, causing errors in Recipe::Runner)
- Minimal reproduction specs for `to_commonmark` normalization behavior:
  - `spec/integration/link_reference_preservation_spec.rb` - tests link ref preservation
  - `spec/integration/table_formatting_preservation_spec.rb` - tests table padding preservation
- `Ast::Merge::PartialTemplateMergerBase` - Abstract base class for parser-agnostic partial template merging
  - `#build_position_based_signature_generator` - Creates signature generators that match elements by position
  - Position counters reset per document key, enabling tables at same position to match regardless of structure

### Changed

- **BREAKING**: `NavigableStatement#text` now requires nodes to conform to TreeHaver Node API (must have `#text` method)
  - Removed conditional fallbacks for `to_plaintext`, `to_commonmark`, `slice`
  - Nodes must now implement `#text` directly (all TreeHaver backends already do)
- **BREAKING**: `ContentMatchRefiner#extract_content` now requires nodes to conform to TreeHaver Node API
  - Removed conditional fallbacks for `text_content`, `string_content`, `content`, `to_s`
  - Custom `content_extractor` proc still supported for non-standard nodes
- Signature generators and typing scripts now receive TreeHaver nodes directly (no NavigableStatement wrapping)
- Removed NavigableStatement wrapping from `FileAnalyzable#generate_signature` and `NodeTyping.process`

### Removed

- **BREAKING**: `Ast::Merge::PartialTemplateMerger` removed. Use `Markdown::Merge::PartialTemplateMerger` directly.
  - The base class `Ast::Merge::PartialTemplateMergerBase` remains for other parsers to extend
  - Migration: change `Ast::Merge::PartialTemplateMerger.new(parser: :markly, ...)` to
    `Ma... (continued)

794 of 886 branches covered (89.62%)

Branch coverage included in aggregate %.

7 of 18 new or added lines in 5 files covered. (38.89%)

32 existing lines in 1 file now uncovered.

2462 of 2540 relevant lines covered (96.93%)

31.34 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
89.41
-5.33% lib/ast/merge/recipe/preset.rb
9
44.27
-53.05% lib/ast/merge/recipe/runner.rb

Uncovered Existing Lines

Lines Coverage ∆ File
32
44.27
-53.05% lib/ast/merge/recipe/runner.rb
Jobs
ID Job ID Ran Files Coverage
1 20738076991.1 06 Jan 2026 04:31AM UTC 47
95.04
GitHub Action Run
Source Files on build 20738076991
  • Tree
  • List 47
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 11b237a8 on github
  • Prev Build on main (#20704931187)
  • Next Build on main (#20738535865)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc