diff options
Diffstat (limited to 'tests/config/db_text_test.php')
| -rw-r--r-- | tests/config/db_text_test.php | 115 | 
1 files changed, 115 insertions, 0 deletions
| diff --git a/tests/config/db_text_test.php b/tests/config/db_text_test.php new file mode 100644 index 0000000000..4818bba8c9 --- /dev/null +++ b/tests/config/db_text_test.php @@ -0,0 +1,115 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +class phpbb_config_db_text_test extends phpbb_database_test_case +{ +	private $db; +	private $config_text; + +	public function getDataSet() +	{ +		return $this->createXMLDataSet(dirname(__FILE__) . '/fixtures/config_text.xml'); +	} + +	public function setUp() +	{ +		parent::setUp(); + +		$this->db = $this->new_dbal(); +		$this->config_text = new phpbb_config_db_text($this->db, 'phpbb_config_text'); +	} + +	public function test_get() +	{ +		$this->assertSame('23', $this->config_text->get('foo')); +		$this->assertSame('string-de-ding', $this->config_text->get('meh')); +	} + +	public function test_get_nonexisting() +	{ +		$this->assertNull($this->config_text->get('noooooo')); +	} + +	public function test_set_new_get() +	{ +		$this->config_text->set('barz', 'phpbb'); +		$this->assertSame('phpbb', $this->config_text->get('barz')); +	} + +	public function test_set_replace_get() +	{ +		$this->config_text->set('foo', '24'); +		$this->assertSame('24', $this->config_text->get('foo')); +	} + +	public function test_set_get_long_string() +	{ +		$expected = str_repeat('ABC', 10000); +		$this->config_text->set('long', $expected); +		$this->assertSame($expected, $this->config_text->get('long')); +	} + +	public function test_delete_get() +	{ +		$this->config_text->delete('foo'); +		$this->assertNull($this->config_text->get('foo')); + +		$this->assertSame('42', $this->config_text->get('bar')); +		$this->assertSame('string-de-ding', $this->config_text->get('meh')); +	} + +	public function test_get_array_empty() +	{ +		$this->assertEmpty($this->config_text->get_array(array('key1', 'key2'))); +	} + +	public function test_get_array_subset() +	{ +		$expected = array( +			'bar' => '42', +			'foo' => '23', +		); + +		$actual = $this->config_text->get_array(array_keys($expected)); +		ksort($actual); + +		$this->assertSame($expected, $actual); +	} + +	public function test_set_array_get_array_subset() +	{ +		$set_array_param = array( +			// New entry +			'baby' => 'phpBB', +			// Entry update +			'bar' => '64', +		); + +		$this->config_text->set_array($set_array_param); + +		$expected = array_merge($set_array_param, array( +			'foo' => '23', +		)); + +		$actual = $this->config_text->get_array(array_keys($expected)); +		ksort($actual); + +		$this->assertSame($expected, $actual); +	} + +	public function test_delete_array_get_remaining() +	{ +		$this->config_text->delete_array(array('foo', 'bar')); + +		$this->assertNull($this->config_text->get('bar')); +		$this->assertNull($this->config_text->get('foo')); + +		$this->assertSame('string-de-ding', $this->config_text->get('meh')); +	} +} | 
