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

tito10047 / php-calendar / 29684814725 / 1
87%
main: 87%

Build:
Build:
LAST BUILD BRANCH: feature-caldav-server
DEFAULT BRANCH: main
Ran 19 Jul 2026 11:16AM UTC
Files 35
Run time 0s
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

19 Jul 2026 11:10AM UTC coverage: 87.251% (+2.7%) from 84.598%
29684814725.1

Pull #4

github

tito10047
feat: implement P2 (v1.2) and P3 (v2.0) — full RFC 5545 + CalDAV

P2 — RFC 5545 completeness:
- RECURRENCE-ID: parser attaches overrides to master event via
  withModifiedOccurrence(); expandOccurrences() returns full ICalEvent
  objects with overrides substituted; JsonSerializer uses expandOccurrences
- X-* extension properties: parser collects all X-* lines into
  extensionProperties map; exporter outputs them; getExtendedProperty() accessor
- WKST in RRULE: RecurrenceRule::weekStart(), parsed from RRULE, serialised
  back with WKST= only when non-Monday
- TRANSP, CLASS, PRIORITY: EventTransp and EventClass enums; parsed and
  exported; default values (OPAQUE/0) suppressed in output
- DST-aware expansion: expandOccurrences() preserves original DateTimeZone
  so local clock time stays correct across DST transitions
- DTSTAMP, CREATED, LAST-MODIFIED, SEQUENCE: parsed, stored, exported;
  zero/null defaults suppressed

P3 — v2.0 extensions:
- CalDAVClient: fluent HTTP client (PROPFIND + REPORT) with Basic auth;
  parses multi-status XML, extracts calendar-data blocks via DOMDocument,
  delegates to ICalParser; src/ICal/CalDAVClient.php
- Streaming export: ICalExporter::exportToStream(resource $stream) writes
  folded RFC 5545 lines one-by-one; export() refactored to share
  buildEventLines() private method — zero code duplication

Tests: 25 new tests (14 P2 + 11 P3), total 212 tests / 826 assertions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Pull Request #4: Feature 2

1403 of 1608 relevant lines covered (87.25%)

9.25 hits per line

Source Files on job 29684814725.1
  • Tree
  • List 35
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 29684814725
  • 94031383 on github
  • Prev Job for on feature-2 (#29634963944.1)
  • Next Job for on feature-2 (#29685543779.1)
  • Delete
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