aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Fischer <bantu@phpbb.com>2012-06-11 15:15:08 +0200
committerAndreas Fischer <bantu@phpbb.com>2012-06-11 15:15:08 +0200
commit09fb9a9efe048cef102471d1ce79cdeff932776a (patch)
treee30fa86085e27771a49a1990f3f74d3649e7efb1 /tests/wrapper
parent[ticket/10931] Correctly handle inputs such as '-k' as invalid in get_bytes(). (diff)
downloadphpbb-09fb9a9efe048cef102471d1ce79cdeff932776a.tar.gz
phpbb-09fb9a9efe048cef102471d1ce79cdeff932776a.tar.bz2
phpbb-09fb9a9efe048cef102471d1ce79cdeff932776a.zip
[ticket/10931] Make sure get_bytes() always returns either an int or a float.
PHPBB3-10931
Diffstat (limited to 'tests/wrapper')
-rw-r--r--tests/wrapper/phpbb_php_ini_test.php31
1 files changed, 24 insertions, 7 deletions
diff --git a/tests/wrapper/phpbb_php_ini_test.php b/tests/wrapper/phpbb_php_ini_test.php
index 5c312300d3..4d8e583eb8 100644
--- a/tests/wrapper/phpbb_php_ini_test.php
+++ b/tests/wrapper/phpbb_php_ini_test.php
@@ -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'),
+ );
}
}