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

ossuminc / riddl / 29128886643
65%
main: 65%

Build:
Build:
LAST BUILD BRANCH: development
DEFAULT BRANCH: main
Ran 10 Jul 2026 10:54PM UTC
Jobs 1
Files 140
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

10 Jul 2026 10:51PM UTC coverage: 65.334% (+0.09%) from 65.248%
29128886643

push

reid-spencer
Quote special-character identifiers in Identifier.format and prettify

RIDDL identifiers may be single-quoted to carry special characters
(spaces, /, @, etc.), and the parser accepts that form. The prettifier
emitted them unquoted, so parse -> prettify -> parse was not a round-trip
for such names (e.g. a user named 'CI/CD Pipeline').

- Identifier.format now single-quotes non-bare names. Adds public
  Identifier.isBareIdentifier(String) and Identifier.format(String),
  matching CommonParser.simpleIdentifier ([A-Za-z][A-Za-z0-9_-]*) and the
  EBNF simple_identifier rule exactly. Hyphens are bare (correcting the
  original proposal); empty stays empty.
- PathIdentifier.format wraps a whole path in one pair of quotes when any
  component is special ('a.CI/CD Pipeline.c') rather than quoting each
  component.
- Parser: pathIdentifier gains a whole-path quoted form
  (dottedPathIdentifier | quotedPathIdentifier); the dotted form is tried
  first so existing inputs (including per-component a.'x'.b) parse
  unchanged. EBNF grammar updated and GBNF regenerated; both the TatSu
  EBNF validator and the GBNF validator pass.
- Prettifier: five emit sites that rendered names via raw .id.value
  (including user names -- the reported repro) now go through .id.format.
- Display: format() is also used by identify() and error-message
  templates, which supply their own quotes. The two identify methods plus
  13 direct templates now use the raw value/path inside those quotes, so
  special and synthetic names (e.g. OnMessageClause 'command DooFoo') are
  not double-quoted. Restores exact pre-change message output.

Tests: ASTTest covers Identifier.format (bare, hyphen, special,
digit-leading, full quoted charset, empty), isBareIdentifier, and
PathIdentifier whole-path quoting; new IdentifierQuotingRoundTripTest
covers parse -> prettify -> parse fidelity for a special-char user, type,
and path reference. Green on JVM and Native; JS compiles.

Co-Authored-By: Claude Opus 4... (continued)

27 of 35 new or added lines in 7 files covered. (77.14%)

34 existing lines in 19 files now uncovered.

7697 of 11781 relevant lines covered (65.33%)

0.65 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
63.6
0.84% passes/shared/src/main/scala/com/ossuminc/riddl/passes/prettify/RiddlFileEmitter.scala
2
76.32
2.63% passes/shared/src/main/scala/com/ossuminc/riddl/passes/resolve/ReferenceMap.scala
2
77.22
0.16% passes/shared/src/main/scala/com/ossuminc/riddl/passes/validate/ValidationPass.scala
1
61.2
0.69% language/shared/src/main/scala/com/ossuminc/riddl/language/AST.scala
1
72.65
0.21% passes/shared/src/main/scala/com/ossuminc/riddl/passes/resolve/ResolutionPass.scala

Coverage Regressions

Lines Coverage ∆ File
5
77.22
0.16% passes/shared/src/main/scala/com/ossuminc/riddl/passes/validate/ValidationPass.scala
4
57.4
-0.14% language/shared/src/main/scala/com/ossuminc/riddl/language/bast/BASTReader.scala
3
61.2
0.69% language/shared/src/main/scala/com/ossuminc/riddl/language/AST.scala
3
59.79
-1.03% language/shared/src/main/scala/com/ossuminc/riddl/language/parsing/ExtensibleTopLevelParser.scala
2
81.33
-0.44% language/shared/src/main/scala/com/ossuminc/riddl/language/Messages.scala
2
94.23
0.0% passes/shared/src/main/scala/com/ossuminc/riddl/passes/analysis/RootComparison.scala
2
72.65
0.21% passes/shared/src/main/scala/com/ossuminc/riddl/passes/resolve/ResolutionPass.scala
2
60.12
0.0% passes/shared/src/main/scala/com/ossuminc/riddl/passes/validate/BasicValidation.scala
1
83.33
-16.67% language/shared/src/main/scala/com/ossuminc/riddl/language/parsing/AdaptorParser.scala
1
90.0
-10.0% language/shared/src/main/scala/com/ossuminc/riddl/language/parsing/EntityParser.scala
1
80.0
-20.0% language/shared/src/main/scala/com/ossuminc/riddl/language/parsing/ModuleParser.scala
1
73.85
-1.54% language/shared/src/main/scala/com/ossuminc/riddl/language/parsing/ParsingContext.scala
1
92.5
0.0% language/shared/src/main/scala/com/ossuminc/riddl/language/parsing/ParsingErrors.scala
1
83.33
-16.67% language/shared/src/main/scala/com/ossuminc/riddl/language/parsing/ProjectorParser.scala
1
90.0
-10.0% language/shared/src/main/scala/com/ossuminc/riddl/language/parsing/RepositoryParser.scala
1
75.38
0.77% passes/shared/src/main/scala/com/ossuminc/riddl/passes/analysis/AnalysisResult.scala
1
91.53
0.42% passes/shared/src/main/scala/com/ossuminc/riddl/passes/stats/StatsPass.scala
1
72.5
0.0% passes/shared/src/main/scala/com/ossuminc/riddl/passes/symbols/SymbolsPass.scala
1
91.37
0.72% passes/shared/src/main/scala/com/ossuminc/riddl/passes/validate/StreamingValidation.scala
Jobs
ID Job ID Ran Files Coverage
1 29128886643.1 10 Jul 2026 10:54PM UTC 140
65.33
Source Files on build 29128886643
  • Tree
  • List 140
  • Changed 29
  • Source Changed 8
  • Coverage Changed 29
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 5d00535c on github
  • Prev Build on development (#28683473913)
  • Next Build on development (#29129214650)
  • Delete
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