if ($this->hidePasswordOutput &&
$key == 'password' &&
- !empty($value)) {
- $this->config[$cat][$key] = new HiddenString($value);
+ !empty($value) && is_string($value)) {
+ $this->config[$cat][$key] = new HiddenString((string) $value);
} else {
$this->config[$cat][$key] = $value;
}
*/
public function testEmptyPassword()
{
- $confiCache = new ConfigCache([
+ $configCache = new ConfigCache([
'database' => [
'password' => '',
'username' => '',
]
]);
- $this->assertEmpty($confiCache->get('database', 'password'));
- $this->assertEmpty($confiCache->get('database', 'username'));
+ $this->assertEmpty($configCache->get('database', 'password'));
+ $this->assertEmpty($configCache->get('database', 'username'));
+ }
+
+ public function testWrongTypePassword()
+ {
+ $configCache = new ConfigCache([
+ 'database' => [
+ 'password' => new \stdClass(),
+ 'username' => '',
+ ]
+ ]);
+
+ $this->assertNotEmpty($configCache->get('database', 'password'));
+ $this->assertEmpty($configCache->get('database', 'username'));
+
+ $configCache = new ConfigCache([
+ 'database' => [
+ 'password' => 23,
+ 'username' => '',
+ ]
+ ]);
+
+ $this->assertEquals(23, $configCache->get('database', 'password'));
+ $this->assertEmpty($configCache->get('database', 'username'));
}
}