Skip to content

Commit 8ca97a7

Browse files
committed
Support JSON cassettes in unit tests by passing a filename ending in .json
1 parent 5cce21b commit 8ca97a7

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

PHPUnit/Util/Log/VCR.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,14 +119,19 @@ public function startTest(PHPUnit_Framework_Test $test)
119119
$doc_block = $reflection->getDocComment();
120120

121121
// Use regex to parse the doc_block for a specific annotation
122-
$cassetteName = self::parseDocBlock($doc_block, '@vcr');
122+
$cassetteName = array_pop(self::parseDocBlock($doc_block, '@vcr'));
123+
124+
// If the cassette name ends in .json, then use the JSON storage format
125+
if (substr($cassetteName, '-5') == '.json') {
126+
\VCR\VCR::configure()->setStorage('json');
127+
}
123128

124129
if (empty($cassetteName)) {
125130
return true;
126131
}
127132

128133
\VCR\VCR::turnOn();
129-
\VCR\VCR::insertCassette(array_pop($cassetteName));
134+
\VCR\VCR::insertCassette($cassetteName);
130135
}
131136

132137
private static function parseDocBlock($doc_block, $tag)

0 commit comments

Comments
 (0)