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

eclipse-aascw / aas-package3-golang
92%
main: 92%

Build:
Build:
LAST BUILD BRANCH: refs/tags/v2.1.0
DEFAULT BRANCH: main
Repo Added 05 Mar 2026 01:24PM UTC
Files 2
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 refs/tags/v2.1.0
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • aaronzi/fix-issue-13
  • aaronzi/fix-issue-9
  • dependabot/github_actions/actions/checkout-7
  • dependabot/github_actions/actions/setup-go-7
  • feat/enumerate-parts
  • feature/deprecated-aasx-relationship-support
  • fix/part-name-percent-encoding
  • main
  • mristin/Add-test-coverage
  • mristin/Break-code-at-100-characters
  • mristin/Fix-license
  • mristin/Replace-headers-with-regions
  • mristin/Update-minimum-Go-version-in-check-style
  • refs/tags/v1.0.0
  • refs/tags/v1.0.0-rc.2
  • refs/tags/v1.0.0-rc1
  • refs/tags/v2.0.0
  • refs/tags/v2.1.0

13 Oct 2026 08:02AM UTC coverage: 92.166% (+0.5%) from 91.623%
38377415704

push

github

web-flow
Compare part names independent of percent-encoding (#16)

* Compare part names independent of encoding

The parts map was keyed by the raw ZIP entry name while FindPart used
the decoded url.URL.Path. A part stored under an OPC-conformant,
percent-encoded name such as aasx/suppl/a%20b.pdf could therefore not
be found, not even with its own Part.URI, and neither could parts with
a space that this library had written itself. Entries with a literal
space were renamed on Flush while their relationship targets kept the
literal name, which broke the package on a plain round trip.

ISO/IEC 29500-2 part names are URIs compared case-insensitively, so map
keys are now built from the decoded, lowercased and re-encoded path
segments, and URIs are keyed by their escaped path. Parts read from an
archive remember their entry name, which is reused on Flush, and
relationship parts are named after their source part instead of the
lowercased map key. PackageWriter now writes percent-encoded entry
names.

This mirrors eclipse-aascw/aas-package3-typescript#83.

* Fold only ASCII case and keep raw entry names

ISO/IEC 29500-2 compares part names as case-insensitive ASCII strings,
but strings.ToLower also folded non-ASCII characters after decoding, so
"%C3%84" (Ä) and "%C3%A4" (ä) collided and a package containing both was
rejected as having duplicate entries. Only A-Z are folded now.

Parts read from an archive stored the normalized path as entry name, so
entries with backslashes were still renamed on Flush. The raw ZIP entry
name is kept now; only a leading slash is dropped because archive/zip
requires relative entry names.

65 of 66 new or added lines in 1 file covered. (98.48%)

1447 of 1570 relevant lines covered (92.17%)

1580.8 hits per line

Relevant lines Covered
Build:
Build:
1570 RELEVANT LINES 1447 COVERED LINES
1580.8 HITS PER LINE
Source Files on main
  • Tree
  • List 2
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
38377415704 refs/tags/v2.1.0 Compare part names independent of percent-encoding (#16) * Compare part names independent of encoding The parts map was keyed by the raw ZIP entry name while FindPart used the decoded url.URL.Path. A part stored under an OPC-conformant, percent-... push 13 Oct 2026 09:36AM UTC web-flow github
92.17
38366581504 main Compare part names independent of percent-encoding (#16) * Compare part names independent of encoding The parts map was keyed by the raw ZIP entry name while FindPart used the decoded url.URL.Path. A part stored under an OPC-conformant, percent-... push 13 Oct 2026 08:03AM UTC web-flow github
92.17
38360567719 fix/part-name-percent-encoding Fold only ASCII case and keep raw entry names ISO/IEC 29500-2 compares part names as case-insensitive ASCII strings, but strings.ToLower also folded non-ASCII characters after decoding, so "%C3%84" (Ä) and "%C3%A4" (ä) collided and a package cont... Pull #16 13 Oct 2026 07:06AM UTC aaronzi github
92.17
38359405835 fix/part-name-percent-encoding Fold only ASCII case and keep raw entry names ISO/IEC 29500-2 compares part names as case-insensitive ASCII strings, but strings.ToLower also folded non-ASCII characters after decoding, so "%C3%84" (Ä) and "%C3%A4" (ä) collided and a package cont... Pull #16 13 Oct 2026 06:55AM UTC aaronzi github
92.17
38358398118 fix/part-name-percent-encoding Compare part names independent of encoding The parts map was keyed by the raw ZIP entry name while FindPart used the decoded url.URL.Path. A part stored under an OPC-conformant, percent-encoded name such as aasx/suppl/a%20b.pdf could therefore no... Pull #16 13 Oct 2026 06:44AM UTC aaronzi github
92.16
38358222787 main Add PackageRead.Parts to enumerate package parts (#15) Every read accessor so far needs a relationship or an already known URI, so a part that no relationship targets could not be discovered at all. Such parts are legal in an OPC package and occu... push 13 Oct 2026 06:43AM UTC web-flow github
91.62
38358002007 fix/part-name-percent-encoding Compare part names independent of encoding The parts map was keyed by the raw ZIP entry name while FindPart used the decoded url.URL.Path. A part stored under an OPC-conformant, percent-encoded name such as aasx/suppl/a%20b.pdf could therefore no... Pull #16 13 Oct 2026 06:40AM UTC aaronzi github
92.07
38357997023 feat/enumerate-parts Add PackageRead.Parts to enumerate package parts Every read accessor so far needs a relationship or an already known URI, so a part that no relationship targets could not be discovered at all. Such parts are legal in an OPC package and occur in p... Pull #15 13 Oct 2026 06:40AM UTC aaronzi github
91.62
29779137136 refs/tags/v2.0.0 Make AASX read/write stream APIs lazy and bounded-memory (#14) * feat!: add bounded lazy package reading we do retain ZIP entries behind ReaderAt and enforce configurable read limits so large AASX payloads are opened without archive-sized alloca... push 20 Jul 2026 09:11PM UTC web-flow github
91.53
29778952179 main Make AASX read/write stream APIs lazy and bounded-memory (#14) * feat!: add bounded lazy package reading we do retain ZIP entries behind ReaderAt and enforce configurable read limits so large AASX payloads are opened without archive-sized alloca... push 20 Jul 2026 09:08PM UTC web-flow github
91.53
See All Builds (36)
  • 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