Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/vendor/php-xapi/json-test-fixtures/validate.php

39 lines
1.1 KiB

<?php
include __DIR__.'/vendor/autoload.php';
$status = 0;
$typeMap = array(
'StatementJsonFixtures::getStatementCollection' => 'array',
'UuidJsonFixtures::getGoodUuid' => 'string',
'UuidJsonFixtures::getBadUuid' => 'string',
);
foreach (glob(__DIR__.'/src/*.php') as $path) {
$filename = substr(basename($path), 0, -4);
$className = 'XApi\Fixtures\Json\\'.$filename;
foreach (get_class_methods($className) as $method) {
$data = json_decode(call_user_func(array($className, $method)));
$readableMethodName = $filename.'::'.$method;
if (isset($typeMap[$readableMethodName])) {
$type = $typeMap[$readableMethodName];
} else {
$type = 'object';
}
if (gettype($data) !== $type) {
file_put_contents('php://stderr', sprintf(
'Expected %s::%s to return data of type "%s", but got "%s"'.PHP_EOL,
$filename,
$method,
$type,
gettype($data)
));
$status = 1;
}
}
}
exit($status);