1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/10931] Make sure get_bytes() always returns either an int or a float.

PHPBB3-10931
This commit is contained in:
Andreas Fischer
2012-06-11 15:15:08 +02:00
parent e9348b172a
commit 09fb9a9efe
2 changed files with 39 additions and 9 deletions

View File

@@ -49,18 +49,35 @@ class phpbb_wrapper_phpbb_php_ini_test extends phpbb_test_case
$this->assertSame(false, $this->php_ini->get_float('phpBB'));
}
public function test_get_bytes()
public function test_get_bytes_invalid()
{
$this->assertSame(false, $this->php_ini->get_bytes('phpBB'));
$this->assertSame(false, $this->php_ini->get_bytes('k'));
$this->assertSame(false, $this->php_ini->get_bytes('-k'));
$this->assertSame(false, $this->php_ini->get_bytes('M'));
$this->assertSame(false, $this->php_ini->get_bytes('-M'));
$this->assertEquals(32 * pow(2, 20), $this->php_ini->get_bytes('32m'));
$this->assertEquals(- 32 * pow(2, 20), $this->php_ini->get_bytes('-32m'));
$this->assertEquals(8 * pow(2, 30), $this->php_ini->get_bytes('8G'));
$this->assertEquals(- 8 * pow(2, 30), $this->php_ini->get_bytes('-8G'));
$this->assertEquals(1234, $this->php_ini->get_bytes('1234'));
$this->assertEquals(-12345, $this->php_ini->get_bytes('-12345'));
}
/**
* @dataProvider get_bytes_data
*/
public function test_get_bytes($expected, $value)
{
$actual = $this->php_ini->get_bytes($value);
$this->assertTrue(is_float($actual) || is_int($actual));
$this->assertEquals($expected, $actual);
}
static public function get_bytes_data()
{
return array(
array(32 * pow(2, 20), '32m'),
array(- 32 * pow(2, 20), '-32m'),
array(8 * pow(2, 30), '8G'),
array(- 8 * pow(2, 30), '-8G'),
array(1234, '1234'),
array(-12345, '-12345'),
);
}
}