<?php
use FUnit as fu;
fu::setup(function () {
// set a fixture to use in tests
fu::fixture('foobar', array('foo' => 'bar'));
});
fu::teardown(function () {
// this resets the fu::$fixtures array. May not provide clean shutdown
fu::reset_fixtures();
});
fu::test('Checking for exceptions', function () {
$callback = function () {
throw new RuntimeException();
};
fu::throws($callback, 'RuntimeException', 'Correct exception');
$callback = function ($foo) {
throw new RuntimeException($foo);
};
fu::throws($callback, array('bar'), 'LogicException', 'Not the correct exception');
});
fu::test('Forced failure', function () {
fu::fail('This is a forced fail');
});
fu::test('Expected failure', function () {
fu::expect_fail('This is a good place to describe a missing test');
});
fu::test('Forced Errors/Exception', function () {
trigger_error('This was triggered inside a test', E_USER_ERROR);
trigger_error('This was triggered inside a test', E_USER_NOTICE);
throw new Exception('This was thrown inside a test');