propresenter-php/php/tests
Thorsten Bus deabfe4ffb feat(bundle): add .probundle reader, writer, and wrapper for presentation bundles
ProPresenter .probundle files are ZIP archives containing a single .pro
presentation with embedded media assets. This adds read/write support
verified against actual ProPresenter 7 exports.

- PresentationBundle: wrapper class (Song + media files + .pro filename)
- ProBundleReader: reads .probundle ZIPs, applies Zip64Fixer for PP exports
- ProBundleWriter: writes standard ZIP with media-first entry order
- ProFileGenerator: media URLs now include URL.local with LocalRelativePath
- 9 tests covering error handling, round-trip, PP export compat, ZIP format
- ref/TestBild.probundle: verified importable by ProPresenter 7
2026-03-30 08:58:48 +02:00
..
ArrangementTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
BinaryFidelityTest.php fix(test): use semantic comparison in BinaryFidelityTest 2026-03-02 23:01:36 +01:00
GroupTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
MassValidationTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
PlaylistArchiveTest.php feat(playlist): add PlaylistEntry, PlaylistNode, PlaylistArchive wrappers 2026-03-01 20:58:39 +01:00
PlaylistEntryTest.php feat(playlist): add PlaylistEntry, PlaylistNode, PlaylistArchive wrappers 2026-03-01 20:58:39 +01:00
PlaylistNodeTest.php feat(playlist): add PlaylistEntry, PlaylistNode, PlaylistArchive wrappers 2026-03-01 20:58:39 +01:00
ProBundleTest.php feat(bundle): add .probundle reader, writer, and wrapper for presentation bundles 2026-03-30 08:58:48 +02:00
ProFileGeneratorTest.php test(generator): end-to-end structural verification against ProPresenter format 2026-03-30 08:17:00 +02:00
ProFileReaderTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
ProFileWriterTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
ProPlaylistGeneratorTest.php feat(playlist): add ProPlaylistGenerator 2026-03-01 21:16:27 +01:00
ProPlaylistIntegrationTest.php test(playlist): add integration tests and update AGENTS.md 2026-03-01 21:28:18 +01:00
ProPlaylistReaderTest.php feat(playlist): add ProPlaylistReader 2026-03-01 21:04:48 +01:00
ProPlaylistWriterTest.php feat(playlist): add ProPlaylistWriter 2026-03-01 21:10:18 +01:00
RtfExtractorTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
SlideExtendedTest.php [AI] add slide label, macro, and media support 2026-03-01 18:46:08 +01:00
SlideTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
SmokeTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
SongMetadataTest.php [AI] add Song metadata getters/setters for CCLI, category, notes 2026-03-01 16:34:00 +01:00
SongTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
TextElementSetPlainTextTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
TextElementTest.php [AI] first parser implementation 2026-03-01 16:12:17 +01:00
Zip64FixerTest.php feat(playlist): add proto field 5, Zip64Fixer, and format spec 2026-03-01 20:50:14 +01:00