Skip to content

Commit 6acac59

Browse files
committed
autoloading fixes
1 parent e7c988f commit 6acac59

File tree

6 files changed

+22
-91
lines changed

6 files changed

+22
-91
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,5 @@ Thumbs.db
2121
*.log
2222
cache/
2323
.phpunit*
24+
25+
example-1

src/Logger.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Logger
1313
public function __construct(array $options = [])
1414
{
1515
$this->level = $options['level'] ?? self::DEFAULT_LEVEL;
16-
$this->handler = $options['handler'] ?? [$this, 'defaultLogHandler'];
16+
$this->handler = $options['handler'] ?? [self::class, 'defaultLogHandler'];
1717
}
1818

1919
public function setLevel(string $level): void
@@ -54,7 +54,7 @@ public function error(string $message, array $details = []): void
5454
$this->log('error', $message, $details);
5555
}
5656

57-
public function defaultLogHandler(string $level, string $message, $details = null): void
57+
public static function defaultLogHandler(string $level, string $message, $details = null): void
5858
{
5959
$method = 'log';
6060

tests/EventsTest.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
use PHPUnit\Framework\TestCase;
44

5-
require_once __DIR__ . '/../src/DatafileReader.php';
6-
require_once __DIR__ . '/../src/Logger.php';
7-
require_once __DIR__ . '/../src/Events.php';
5+
use Featurevisor\Events;
6+
use Featurevisor\DatafileReader;
7+
use function Featurevisor\createLogger;
88

99
class EventsTest extends TestCase
1010
{
@@ -17,7 +17,7 @@ public function testGetParamsForStickySetEventEmptyToNew()
1717
];
1818
$replace = true;
1919

20-
$result = getParamsForStickySetEvent($previousStickyFeatures, $newStickyFeatures, $replace);
20+
$result = Events::getParamsForStickySetEvent($previousStickyFeatures, $newStickyFeatures, $replace);
2121

2222
$this->assertEquals([
2323
'features' => ['feature2', 'feature3'],
@@ -37,7 +37,7 @@ public function testGetParamsForStickySetEventAddChangeRemove()
3737
];
3838
$replace = true;
3939

40-
$result = getParamsForStickySetEvent($previousStickyFeatures, $newStickyFeatures, $replace);
40+
$result = Events::getParamsForStickySetEvent($previousStickyFeatures, $newStickyFeatures, $replace);
4141

4242
$this->assertEquals([
4343
'features' => ['feature1', 'feature2', 'feature3'],
@@ -74,7 +74,7 @@ public function testGetParamsForDatafileSetEventEmptyToNew()
7474
'logger' => $logger,
7575
]);
7676

77-
$result = getParamsForDatafileSetEvent($previousDatafileReader, $newDatafileReader);
77+
$result = Events::getParamsForDatafileSetEvent($previousDatafileReader, $newDatafileReader);
7878

7979
$this->assertEquals([
8080
'revision' => '2',
@@ -117,7 +117,7 @@ public function testGetParamsForDatafileSetEventChangeHashAddition()
117117
'logger' => $logger,
118118
]);
119119

120-
$result = getParamsForDatafileSetEvent($previousDatafileReader, $newDatafileReader);
120+
$result = Events::getParamsForDatafileSetEvent($previousDatafileReader, $newDatafileReader);
121121

122122
$this->assertEquals([
123123
'revision' => '2',
@@ -158,7 +158,7 @@ public function testGetParamsForDatafileSetEventChangeHashRemoval()
158158
'logger' => $logger,
159159
]);
160160

161-
$result = getParamsForDatafileSetEvent($previousDatafileReader, $newDatafileReader);
161+
$result = Events::getParamsForDatafileSetEvent($previousDatafileReader, $newDatafileReader);
162162

163163
$this->assertEquals([
164164
'revision' => '2',

tests/InstanceTest.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,11 @@
22

33
use PHPUnit\Framework\TestCase;
44

5-
require_once __DIR__ . '/../src/Instance.php';
6-
require_once __DIR__ . '/../src/Logger.php';
5+
use function Featurevisor\createInstance;
6+
use function Featurevisor\createLogger;
77

88
class InstanceTest extends TestCase
99
{
10-
public function testShouldBeAFunction()
11-
{
12-
$this->assertTrue(function_exists('createInstance'));
13-
}
14-
1510
public function testShouldCreateInstanceWithDatafileContent()
1611
{
1712
$sdk = createInstance([

tests/LoggerTest.php

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
use PHPUnit\Framework\TestCase;
44

5-
require_once __DIR__ . '/../src/Logger.php';
5+
use Featurevisor\Logger;
6+
use function Featurevisor\createLogger;
67

78
class LoggerTest extends TestCase
89
{
@@ -308,7 +309,7 @@ public function testLogMethodNotCallHandlerWhenLevelIsFilteredOut()
308309
public function testDefaultLogHandlerUsesConsoleLogForDebugLevel()
309310
{
310311
ob_start();
311-
defaultLogHandler('debug', 'debug message');
312+
Logger::defaultLogHandler('debug', 'debug message');
312313
$output = ob_get_clean();
313314

314315
$this->assertStringContainsString('[Featurevisor]', $output);
@@ -318,7 +319,7 @@ public function testDefaultLogHandlerUsesConsoleLogForDebugLevel()
318319
public function testDefaultLogHandlerUsesConsoleInfoForInfoLevel()
319320
{
320321
ob_start();
321-
defaultLogHandler('info', 'info message');
322+
Logger::defaultLogHandler('info', 'info message');
322323
$output = ob_get_clean();
323324

324325
$this->assertStringContainsString('[Featurevisor]', $output);
@@ -328,7 +329,7 @@ public function testDefaultLogHandlerUsesConsoleInfoForInfoLevel()
328329
public function testDefaultLogHandlerUsesConsoleWarnForWarnLevel()
329330
{
330331
ob_start();
331-
defaultLogHandler('warn', 'warn message');
332+
Logger::defaultLogHandler('warn', 'warn message');
332333
$output = ob_get_clean();
333334

334335
$this->assertStringContainsString('[Featurevisor]', $output);
@@ -338,7 +339,7 @@ public function testDefaultLogHandlerUsesConsoleWarnForWarnLevel()
338339
public function testDefaultLogHandlerUsesConsoleErrorForErrorLevel()
339340
{
340341
ob_start();
341-
defaultLogHandler('error', 'error message');
342+
Logger::defaultLogHandler('error', 'error message');
342343
$output = ob_get_clean();
343344

344345
$this->assertStringContainsString('[Featurevisor]', $output);
@@ -348,7 +349,7 @@ public function testDefaultLogHandlerUsesConsoleErrorForErrorLevel()
348349
public function testDefaultLogHandlerHandlesUndefinedDetails()
349350
{
350351
ob_start();
351-
defaultLogHandler('info', 'message without details');
352+
Logger::defaultLogHandler('info', 'message without details');
352353
$output = ob_get_clean();
353354

354355
$this->assertStringContainsString('[Featurevisor]', $output);
@@ -360,7 +361,7 @@ public function testDefaultLogHandlerHandlesProvidedDetails()
360361
$details = ['key' => 'value'];
361362

362363
ob_start();
363-
defaultLogHandler('info', 'message with details', $details);
364+
Logger::defaultLogHandler('info', 'message with details', $details);
364365
$output = ob_get_clean();
365366

366367
$this->assertStringContainsString('[Featurevisor]', $output);

tests/bootstrap.php

Lines changed: 0 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -8,70 +8,3 @@
88

99
// Include all source files
1010
require_once __DIR__ . '/../src/index.php';
11-
require_once __DIR__ . '/../src/Instance.php';
12-
require_once __DIR__ . '/../src/Logger.php';
13-
require_once __DIR__ . '/../src/Bucketer.php';
14-
require_once __DIR__ . '/../src/Child.php';
15-
require_once __DIR__ . '/../src/Conditions.php';
16-
require_once __DIR__ . '/../src/CompareVersions.php';
17-
require_once __DIR__ . '/../src/DatafileReader.php';
18-
require_once __DIR__ . '/../src/Emitter.php';
19-
require_once __DIR__ . '/../src/Events.php';
20-
require_once __DIR__ . '/../src/Evaluation.php';
21-
require_once __DIR__ . '/../src/Evaluate.php';
22-
require_once __DIR__ . '/../src/EvaluateByBucketing.php';
23-
require_once __DIR__ . '/../src/EvaluateDisabled.php';
24-
require_once __DIR__ . '/../src/EvaluateForced.php';
25-
require_once __DIR__ . '/../src/EvaluateNotFound.php';
26-
require_once __DIR__ . '/../src/EvaluateSticky.php';
27-
require_once __DIR__ . '/../src/Helpers.php';
28-
require_once __DIR__ . '/../src/HooksManager.php';
29-
require_once __DIR__ . '/../src/MurmurHash.php';
30-
31-
// Export functions to global namespace for tests
32-
if (!function_exists('createInstance')) {
33-
function createInstance(array $options = []): \Featurevisor\Instance
34-
{
35-
return \Featurevisor\createInstance($options);
36-
}
37-
}
38-
39-
if (!function_exists('createLogger')) {
40-
function createLogger(array $options = []): \Featurevisor\Logger
41-
{
42-
return \Featurevisor\createLogger($options);
43-
}
44-
}
45-
46-
if (!function_exists('defaultLogHandler')) {
47-
function defaultLogHandler(string $level, string $message, array $details = []): void
48-
{
49-
$logger = new \Featurevisor\Logger();
50-
$logger->defaultLogHandler($level, $message, $details);
51-
}
52-
}
53-
54-
if (!function_exists('getParamsForStickySetEvent')) {
55-
function getParamsForStickySetEvent(array $previousStickyFeatures, array $newStickyFeatures, bool $replace = false): array
56-
{
57-
return \Featurevisor\Events::getParamsForStickySetEvent($previousStickyFeatures, $newStickyFeatures, $replace);
58-
}
59-
}
60-
61-
if (!function_exists('getParamsForDatafileSetEvent')) {
62-
function getParamsForDatafileSetEvent($previousDatafileReader, $newDatafileReader): array
63-
{
64-
return \Featurevisor\Events::getParamsForDatafileSetEvent($previousDatafileReader, $newDatafileReader);
65-
}
66-
}
67-
68-
// Export classes to global namespace for tests
69-
if (!class_exists('Logger')) {
70-
class_alias('Featurevisor\\Logger', 'Logger');
71-
}
72-
73-
if (!class_exists('DatafileReader')) {
74-
class_alias('Featurevisor\\DatafileReader', 'DatafileReader');
75-
}
76-
77-
// Set up any test-specific configurations here if needed

0 commit comments

Comments
 (0)