# Conflicts: # .drone.yml # .gitignore # Source/Config/Autoload.php # Source/Config/Clean.php # Source/Config/config.php # Source/Controller/ControllerAdmin.php # Source/Model/ModelAdmin.phpmaster
commit
9617eb8074
@ -1 +1,2 @@
|
||||
/Source/.phpunit.cache/
|
||||
/Source/Config/vendor/
|
||||
|
@ -1 +0,0 @@
|
||||
/Config/vendor/
|
@ -1,54 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Config;
|
||||
|
||||
use PDO;
|
||||
use PDOStatement;
|
||||
|
||||
/**
|
||||
* Définit une connection à la base de données.
|
||||
*/
|
||||
class Connection extends PDO
|
||||
{
|
||||
/**
|
||||
* @var PDOStatement
|
||||
*/
|
||||
private PDOStatement $stmt;
|
||||
|
||||
public function __construct(string $dsn, string $username, string $password)
|
||||
{
|
||||
parent::__construct($dsn, $username, $password);
|
||||
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Éxécute une réquête SQL.
|
||||
*
|
||||
* @param string $query
|
||||
* @param array $parameters
|
||||
* @return bool Returns `true` on success, `false` otherwise
|
||||
*/
|
||||
public function executeQuery(string $query, array $parameters = []): bool
|
||||
{
|
||||
$this->stmt = parent::prepare($query);
|
||||
foreach ($parameters as $name => $value) {
|
||||
$this->stmt->bindValue($name, $value[0], $value[1]);
|
||||
}
|
||||
|
||||
return $this->stmt->execute();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Permet de récupère le résultat de la dernière réquête éxecuté avec
|
||||
* la fonction executeQuery().
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getResults(): array
|
||||
{
|
||||
return $this->stmt->fetchAll();
|
||||
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,2 @@
|
||||
FROM php:8.1-apache
|
||||
COPY ./coverage.xml /var/www/html
|
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace TestBusinessClass;
|
||||
|
||||
|
||||
use BusinessClass\BoxQuestion;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class BoxQuestionTest extends TestCase
|
||||
{
|
||||
public function testConstructorWithFourArguments()
|
||||
{
|
||||
$args = [['response1', 'response2'], 'question', ['category1', 'category2'], 1];
|
||||
$boxQuestion = new class(4, $args) extends BoxQuestion {
|
||||
public function printStrategy(): string
|
||||
{
|
||||
return '';
|
||||
}
|
||||
};
|
||||
|
||||
$this->assertEquals($args[0], $boxQuestion->getPossibleResponses());
|
||||
$this->assertEquals($args[2], $boxQuestion->getCategories());
|
||||
}
|
||||
|
||||
public function testSetPossibleResponses()
|
||||
{
|
||||
$args = [1, 'question'];
|
||||
|
||||
$possibleResponses = ['response1', 'response2'];
|
||||
$boxQuestion = new class(2, $args) extends BoxQuestion {
|
||||
public function printStrategy(): string
|
||||
{
|
||||
return '';
|
||||
}
|
||||
};
|
||||
$boxQuestion->setPossibleResponses($possibleResponses);
|
||||
|
||||
$this->assertEquals($possibleResponses, $boxQuestion->getPossibleResponses());
|
||||
}
|
||||
|
||||
public function testSetCategories()
|
||||
{
|
||||
$args = [1, 'question'];
|
||||
|
||||
$categories = ['category1', 'category2'];
|
||||
$boxQuestion = new class(2, $args) extends BoxQuestion {
|
||||
public function printStrategy(): string
|
||||
{
|
||||
return '';
|
||||
}
|
||||
};
|
||||
$boxQuestion->setCategories($categories);
|
||||
|
||||
$this->assertEquals($categories, $boxQuestion->getCategories());
|
||||
}
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace TestBusinessClass;
|
||||
|
||||
use BusinessClass\Form;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class FormTest extends TestCase
|
||||
{
|
||||
public function testGetTitleReturnsCorrectValue()
|
||||
{
|
||||
$form = new Form(1, 'Titre du formulaire', 'Description du formulaire', []);
|
||||
$this->assertEquals('Titre du formulaire', $form->getTitle());
|
||||
}
|
||||
|
||||
public function testSetTitleSetsCorrectValue()
|
||||
{
|
||||
$form = new Form(1, 'Titre du formulaire', 'Description du formulaire', []);
|
||||
$form->setTitle('Nouveau titre');
|
||||
$this->assertEquals('Nouveau titre', $form->getTitle());
|
||||
}
|
||||
|
||||
public function testGetDescriptionReturnsCorrectValue()
|
||||
{
|
||||
$form = new Form(1, 'Titre du formulaire', 'Description du formulaire', []);
|
||||
$this->assertEquals('Description du formulaire', $form->getDescription());
|
||||
}
|
||||
|
||||
public function testSetDescriptionSetsCorrectValue()
|
||||
{
|
||||
$form = new Form(1, 'Titre du formulaire', 'Description du formulaire', []);
|
||||
$form->setDescription('Nouvelle description');
|
||||
$this->assertEquals('Nouvelle description', $form->getDescription());
|
||||
}
|
||||
|
||||
public function testGetQuestionsReturnsCorrectValue()
|
||||
{
|
||||
$questions = [
|
||||
'Question 1',
|
||||
'Question 2',
|
||||
'Question 3'
|
||||
];
|
||||
|
||||
$form = new Form(1, 'Titre du formulaire', 'Description du formulaire', $questions);
|
||||
$this->assertEquals($questions, $form->getQuestions());
|
||||
}
|
||||
|
||||
public function testSetQuestionsSetsCorrectValue()
|
||||
{
|
||||
$questions = [
|
||||
'Question 1',
|
||||
'Question 2',
|
||||
'Question 3'
|
||||
];
|
||||
|
||||
$form = new Form(1, 'Titre du formulaire', 'Description du formulaire', []);
|
||||
$form->setQuestions($questions);
|
||||
$this->assertEquals($questions, $form->getQuestions());
|
||||
}
|
||||
|
||||
public function testGetIdReturnsCorrectValue()
|
||||
{
|
||||
$form = new Form(1, 'Titre du formulaire', 'Description du formulaire', []);
|
||||
$this->assertEquals(1, $form->getId());
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace TestBusinessClass;
|
||||
|
||||
use BusinessClass\IPrintQuestionStrategy;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class IPrintQuestionStrategyTest extends TestCase
|
||||
{
|
||||
public function testPrintStrategy()
|
||||
{
|
||||
$strategy = new class implements IPrintQuestionStrategy {
|
||||
public function printStrategy(): string
|
||||
{
|
||||
return '<div>Question</div>';
|
||||
}
|
||||
};
|
||||
|
||||
$this->assertEquals('<div>Question</div>', $strategy->printStrategy());
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace TestBusinessClass;
|
||||
|
||||
use BusinessClass\Keyword;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class KeywordTest extends TestCase
|
||||
{
|
||||
public function testConstructor()
|
||||
{
|
||||
$id = 1;
|
||||
$word = 'example';
|
||||
$keyword = new Keyword($id, $word);
|
||||
|
||||
$this->assertEquals($id, $keyword->getId());
|
||||
$this->assertEquals($word, $keyword->getWord());
|
||||
}
|
||||
|
||||
public function testSetWord()
|
||||
{
|
||||
$id = 1;
|
||||
$word = 'example';
|
||||
$newWord = 'new example';
|
||||
$keyword = new Keyword($id, $word);
|
||||
$keyword->setWord($newWord);
|
||||
|
||||
$this->assertEquals($newWord, $keyword->getWord());
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace TestBusinessClass;
|
||||
|
||||
use BusinessClass\Question;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class QuestionTest extends TestCase
|
||||
{
|
||||
public function testConstructor()
|
||||
{
|
||||
$id = 1;
|
||||
$content = 'What is your name?';
|
||||
$question = new class($id, $content) extends Question {
|
||||
public function printStrategy(): string
|
||||
{
|
||||
return '';
|
||||
}
|
||||
};
|
||||
|
||||
$this->assertEquals($id, $question->getId());
|
||||
$this->assertEquals($content, $question->getContent());
|
||||
}
|
||||
|
||||
public function testSetContent()
|
||||
{
|
||||
$content = 'What is your age?';
|
||||
$question = new class(1, 'question') extends Question {
|
||||
public function printStrategy(): string
|
||||
{
|
||||
return '';
|
||||
}
|
||||
};
|
||||
$question->setContent($content);
|
||||
|
||||
$this->assertEquals($content, $question->getContent());
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace TestBusinessClass;
|
||||
|
||||
use BusinessClass\Response;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class ResponseTest extends TestCase
|
||||
{
|
||||
private int $id = 1;
|
||||
private string $date = "2022-03-18";
|
||||
private string $titleForm = "My Form";
|
||||
private array $questionsResponses = [
|
||||
"Question 1" => "Response 1",
|
||||
"Question 2" => "Response 2"
|
||||
];
|
||||
|
||||
public function testGetters()
|
||||
{
|
||||
$response = new Response($this->id, $this->date, $this->titleForm, $this->questionsResponses);
|
||||
|
||||
$this->assertEquals($this->id, $response->getId());
|
||||
$this->assertEquals($this->date, $response->getDate());
|
||||
$this->assertEquals($this->titleForm, $response->getTitleForm());
|
||||
$this->assertEquals($this->questionsResponses, $response->getQuestionsResponses());
|
||||
}
|
||||
|
||||
public function testSetters()
|
||||
{
|
||||
$response = new Response($this->id, $this->date, $this->titleForm, $this->questionsResponses);
|
||||
|
||||
$newDate = "2023-03-18";
|
||||
$response->setDate($newDate);
|
||||
$this->assertEquals($newDate, $response->getDate());
|
||||
|
||||
$newTitleForm = "New Form";
|
||||
$response->setTitleForm($newTitleForm);
|
||||
$this->assertEquals($newTitleForm, $response->getTitleForm());
|
||||
|
||||
$newQuestionsResponses = [
|
||||
"Question 1" => "New Response 1",
|
||||
"Question 2" => "New Response 2"
|
||||
];
|
||||
$response->setQuestionsResponses($newQuestionsResponses);
|
||||
$this->assertEquals($newQuestionsResponses, $response->getQuestionsResponses());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace TestBusinessClass;
|
||||
|
||||
use BusinessClass\TextQuestion;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class TextQuestionTest extends TestCase
|
||||
{
|
||||
public function testPrintStrategy()
|
||||
{
|
||||
$content = 'What is your name?';
|
||||
$id = 1;
|
||||
$textQuestion = new TextQuestion($id, $content);
|
||||
$expectedOutput = "<div class='tab'>
|
||||
<h6>$content</h6>
|
||||
<p>
|
||||
<input data-id='$id' placeholder='...' oninput='this.className = '''' type='text' name='answers[]'>
|
||||
</p>
|
||||
</div>\n";
|
||||
$this->assertEquals($expectedOutput, $textQuestion->printStrategy());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace TestConfig;
|
||||
|
||||
|
||||
use Config\AltoRouter;
|
||||
use Exception;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use RuntimeException;
|
||||
|
||||
class AltoRouterTest extends TestCase
|
||||
{
|
||||
protected AltoRouter $router;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
$this->router = new AltoRouter();
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public function testAddRoutesThrowsExceptionForInvalidInput()
|
||||
{
|
||||
$this->expectException(RuntimeException::class);
|
||||
$this->router->addRoutes('invalid input');
|
||||
}
|
||||
|
||||
public function testGetRoutesReturnsArrayOfRoutes()
|
||||
{
|
||||
$this->assertIsArray($this->router->getRoutes());
|
||||
}
|
||||
|
||||
public function testSetBasePathSetsBasePath()
|
||||
{
|
||||
$this->router->setBasePath('/test');
|
||||
$this->assertEquals('/test', $this->router->getBasePath());
|
||||
}
|
||||
|
||||
public function testAddMatchTypesAddsMatchTypes()
|
||||
{
|
||||
$this->router->addMatchTypes(['test' => 'regex']);
|
||||
$this->assertArrayHasKey('test', $this->router->getMatchTypes());
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public function testMapAddsRouteToRoutesArray()
|
||||
{
|
||||
$this->router->map('GET', '/test', 'handler');
|
||||
$this->assertEquals([['GET', '/test', 'handler', null]], $this->router->getRoutes());
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public function testMapAddsNamedRouteToNamedRoutesArray()
|
||||
{
|
||||
$this->router->map('GET', '/test', 'handler', 'test');
|
||||
$this->assertEquals('/test', $this->router->getNamedRoutes()['test']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Exception
|
||||
*/
|
||||
public function testMapThrowsExceptionForDuplicateNamedRoutes()
|
||||
{
|
||||
$this->expectException(RuntimeException::class);
|
||||
$this->router->map('GET', '/test', 'handler', 'test');
|
||||
$this->router->map('GET', '/test2', 'handler', 'test');
|
||||
}
|
||||
}
|
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace TestConfig;
|
||||
|
||||
use Config\Clean;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class CleanTest extends TestCase
|
||||
{
|
||||
public function testSimpleString()
|
||||
{
|
||||
// Test avec une chaîne de caractères qui contient des balises HTML et des espaces
|
||||
$string = '<p> Test avec des espaces ! </p>';
|
||||
$expected = 'Test avec des espaces !';
|
||||
$this->assertEquals($expected, Clean::simpleString($string));
|
||||
|
||||
// Test avec une chaîne de caractères qui contient des caractères spéciaux
|
||||
$string = 'Ceci est une chaîne & avec des "caractères" spéciaux !';
|
||||
$expected = 'Ceci est une chaîne & avec des "caractères" spéciaux !';
|
||||
$this->assertEquals($expected, Clean::simpleString($string));
|
||||
}
|
||||
|
||||
public function testEmail()
|
||||
{
|
||||
// Test avec une adresse email valide
|
||||
$email = 'john.doe@example.com';
|
||||
$expected = 'john.doe@example.com';
|
||||
$this->assertEquals($expected, Clean::email($email));
|
||||
|
||||
// Test avec une adresse email invalide
|
||||
$email = 'john.doe@<??|||""__##:;>example.com';
|
||||
$this->assertEquals($expected, Clean::email($email));
|
||||
}
|
||||
|
||||
public function testInt()
|
||||
{
|
||||
// Test avec un entier valide
|
||||
$int = '1234';
|
||||
$expected = 1234;
|
||||
$this->assertEquals($expected, Clean::int($int));
|
||||
|
||||
// Test avec un entier invalide
|
||||
$int = '1234abc';
|
||||
$this->assertEquals($expected, Clean::int($int));
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
namespace TestConfig;
|
||||
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Config\Validate;
|
||||
|
||||
class ValidateTest extends TestCase
|
||||
{
|
||||
public function testEmail()
|
||||
{
|
||||
$this->assertTrue(Validate::email('john.doe@example.com'));
|
||||
$this->assertFalse(Validate::email('john.doe@'));
|
||||
$this->assertFalse(Validate::email('john.doe@example.commmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'));
|
||||
}
|
||||
|
||||
public function testLogin()
|
||||
{
|
||||
$this->assertTrue(Validate::login('john123'));
|
||||
$this->assertFalse(Validate::login('joh'));
|
||||
$this->assertFalse(Validate::login('joh!'));
|
||||
$this->assertFalse(Validate::login('john123456789012345555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555'));
|
||||
}
|
||||
|
||||
public function testPassword()
|
||||
{
|
||||
$this->assertTrue(Validate::password('Pa$$w0rd'));
|
||||
$this->assertFalse(Validate::password('password'));
|
||||
$this->assertFalse(Validate::password('12345678'));
|
||||
$this->assertFalse(Validate::password('pa$$word'));
|
||||
$this->assertFalse(Validate::password('P@$$worddddddddddddddddddddddddddddddddddddddddddd'));
|
||||
}
|
||||
|
||||
public function testKeyWord()
|
||||
{
|
||||
$this->assertTrue(Validate::keyWord('keyword'));
|
||||
$this->assertFalse(Validate::keyWord('ke'));
|
||||
$this->assertFalse(Validate::keyWord('keyworddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'));
|
||||
}
|
||||
|
||||
public function testTitle()
|
||||
{
|
||||
$this->assertTrue(Validate::title('Title'));
|
||||
$this->assertFalse(Validate::title('Ti'));
|
||||
$this->assertFalse(Validate::title('titleddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'));
|
||||
}
|
||||
|
||||
public function testType()
|
||||
{
|
||||
$this->assertTrue(Validate::type('Type'));
|
||||
$this->assertFalse(Validate::type('Ty'));
|
||||
$this->assertFalse(Validate::type('typeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'));
|
||||
}
|
||||
|
||||
public function testResponse()
|
||||
{
|
||||
$this->assertTrue(Validate::response('Response'));
|
||||
$this->assertFalse(Validate::response(''));
|
||||
$this->assertFalse(Validate::response('responseddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'));
|
||||
}
|
||||
|
||||
public function testUsername()
|
||||
{
|
||||
$this->assertTrue(Validate::username('john123'));
|
||||
$this->assertFalse(Validate::username('jo'));
|
||||
$this->assertFalse(Validate::username('joh!'));
|
||||
$this->assertFalse(Validate::username('john1234567890123455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555'));
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace TestException;
|
||||
|
||||
use Exception;
|
||||
use Exceptions\InexistantLoginException;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class InexistantLoginExceptionTest extends TestCase
|
||||
{
|
||||
public function testConstructor()
|
||||
{
|
||||
$exception = new InexistantLoginException();
|
||||
$this->assertInstanceOf(InexistantLoginException::class, $exception);
|
||||
$this->assertInstanceOf(Exception::class, $exception);
|
||||
$this->assertEquals("Identifiant inexistant", $exception->getMessage());
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace TestException;
|
||||
|
||||
use Exception;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Exceptions\InvalidLoginOrPasswordException;
|
||||
|
||||
class InvalidLoginOrPasswordExceptionTest extends TestCase
|
||||
{
|
||||
public function testConstructor()
|
||||
{
|
||||
$exception = new InvalidLoginOrPasswordException();
|
||||
$this->assertInstanceOf(InvalidLoginOrPasswordException::class, $exception);
|
||||
$this->assertInstanceOf(Exception::class, $exception);
|
||||
$this->assertEquals("Identifiant ou mot de passe invalide", $exception->getMessage());
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace TestException;
|
||||
|
||||
use Exception;
|
||||
use Exceptions\InvalidUsernameOrPasswordException;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Exceptions\InvalidLoginOrPasswordException;
|
||||
|
||||
class InvalidUsernameOrPasswordExceptionTest extends TestCase
|
||||
{
|
||||
public function testConstructor()
|
||||
{
|
||||
$exception = new InvalidUsernameOrPasswordException();
|
||||
$this->assertInstanceOf(InvalidUsernameOrPasswordException::class, $exception);
|
||||
$this->assertInstanceOf(Exception::class, $exception);
|
||||
$this->assertEquals("Nom d'utilisateur ou mot de passe invalide", $exception->getMessage());
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,17 @@
|
||||
<html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="Views/CSS/common.css">
|
||||
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
|
||||
<title>Error Page</title>
|
||||
<body class="d-flex flex-column align-items-center">
|
||||
<h1><?php echo $error ?></h1>
|
||||
<h1>
|
||||
<?php if (empty($error)) {
|
||||
echo "Erreur";
|
||||
}else{
|
||||
echo $error;
|
||||
}
|
||||
?>
|
||||
</h1>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd"
|
||||
bootstrap=".\Config\vendor\autoload.php"
|
||||
cacheDirectory=".phpunit.cache"
|
||||
executionOrder="depends,defects"
|
||||
requireCoverageMetadata="true"
|
||||
beStrictAboutCoverageMetadata="true"
|
||||
beStrictAboutOutputDuringTests="true"
|
||||
failOnRisky="true"
|
||||
failOnWarning="true">
|
||||
<testsuites>
|
||||
<testsuite name="default">
|
||||
<directory>.\Tests\</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
|
||||
<coverage>
|
||||
<include>
|
||||
<directory suffix=".php">..\Source\</directory>
|
||||
</include>
|
||||
</coverage>
|
||||
</phpunit>
|
Loading…
Reference in new issue