From 9dcac9927184a010f3e7c715c2bc9e9ed08c8037 Mon Sep 17 00:00:00 2001 From: Ewout Pieter den Ouden Date: Fri, 5 Mar 2021 21:59:43 +0100 Subject: [PATCH] Add test coverage for codecov --- .../Runner/DefaultTestResultCacheTest.php | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/tests/unit/Runner/DefaultTestResultCacheTest.php b/tests/unit/Runner/DefaultTestResultCacheTest.php index 8d36a842f3d..ecbfc8c6501 100644 --- a/tests/unit/Runner/DefaultTestResultCacheTest.php +++ b/tests/unit/Runner/DefaultTestResultCacheTest.php @@ -38,18 +38,28 @@ public function testOldResultCacheFormatDoesNotTriggerError(): void // to set up a full end-to-end test with an old cache file $cache = new DefaultTestResultCache; $reflectedCache = new ReflectionClass($cache); - $defects = $reflectedCache->getProperty('defects'); + + // Set a test status in the old integer and new value-object format + $defects = $reflectedCache->getProperty('defects'); $defects->setAccessible(true); $defects->setValue($cache, [ - 'testOne' => TestStatus::skipped(), - 'testTwo' => 1, + 'newStatus' => TestStatus::skipped(), + 'legacyStatus' => 1, ]); - $targetCache = new DefaultTestResultCache; - $cache->copyStateToCache($targetCache); + // Simulate a save-load cycle + $loadedCache = unserialize(serialize($cache)); + + $this->assertTrue($loadedCache instanceof DefaultTestResultCache); + $this->assertEquals(TestStatus::skipped(), $loadedCache->status('newStatus')); + $this->assertEquals(TestStatus::unknown(), $loadedCache->status('legacyStatus')); + + // Test the state duplication internals + $copiedCache = new DefaultTestResultCache; + /* @var DefaultTestResultCache $loadedCache */ + $cache->copyStateToCache($copiedCache); - // Validate expected behaviour: the test with old success value is silently ignored - $this->assertEquals(TestStatus::skipped(), $targetCache->status('testOne')); - $this->assertEquals(TestStatus::unknown(), $targetCache->status('testTwo')); + $this->assertEquals(TestStatus::skipped(), $copiedCache->status('newStatus')); + $this->assertEquals(TestStatus::unknown(), $copiedCache->status('legacyStatus')); } }