phpcr/phpcr-api-tests
Test suite for the PHP Content Repository (PHPCR) API. Provides reusable, vendor-neutral compliance tests to validate PHPCR implementations against the specification, helping ensure consistent behavior across repositories and adapters.
This package is not a library for direct application usage—it's a test suite provider for PHPCR implementations (e.g., jackalope, doctrine/phpcr-odm). Start by examining the phpunit.xml.dist and tests/ directory to understand how it defines and runs functional tests against PHPCR endpoints. To use it, your PHPCR implementation must implement the PHPCR\SessionInterface, and you typically require this package as a dev dependency and extend its abstract test classes (e.g., PHPCR\Tests\Functional\BasicTest) to validate your implementation’s conformance.
SessionTest, NodeTest) and inject your custom PHPCR implementation.bootstrap.php or phpunit.xml to configure the _PHPCR_TESTS_IMPLEMENTATION constant pointing to your implementation class.@group annotations (e.g., @group jcr-283) to skip tests unsupported by your implementation, enabling fine-grained compatibility reporting.vendor/bin/phpunit against your local or remote PHPCR backend (e.g., JCR repository over RMI or WebDAV) to verify API compliance.PHPCR and sub-namespaces as defined in the interface; typos cause cryptic class-not-found errors.tests/fixtures/) are reset per suite—avoid mutating them in tests; instead, use setUp()/tearDown() for per-test isolation.ItemInterfaceTest) assert type-hinted returns like NodeInterface|DocumentInterface; mismatches cause fatal errors—use strict typing (declare(strict_types=1)) early in your implementation.autoload-dev → classmap or PSR-4).phpcr.logger (if supported) or patch PHPCR\Util\UUIDHelper to log UUID generation failures—common in implementation bugs.How can I help you explore Laravel packages today?