From 55c4ac1bfe565f1ca7f537fdd8b7a201be28e581 Mon Sep 17 00:00:00 2001 From: xue <> Date: Thu, 10 Nov 2005 12:47:19 +0000 Subject: Initial import of prado framework --- tests/UnitTests/simpletest/test/encoding_test.php | 134 ++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 tests/UnitTests/simpletest/test/encoding_test.php (limited to 'tests/UnitTests/simpletest/test/encoding_test.php') diff --git a/tests/UnitTests/simpletest/test/encoding_test.php b/tests/UnitTests/simpletest/test/encoding_test.php new file mode 100644 index 00000000..409283d5 --- /dev/null +++ b/tests/UnitTests/simpletest/test/encoding_test.php @@ -0,0 +1,134 @@ +assertIdentical($encoding->getValue('a'), false); + $this->assertIdentical($encoding->getKeys(), array()); + $this->assertIdentical($encoding->asString(), ''); + } + + function testPrefilled() { + $encoding = &new SimpleFormEncoding(array('a' => 'aaa')); + $this->assertIdentical($encoding->getValue('a'), 'aaa'); + $this->assertIdentical($encoding->getKeys(), array('a')); + $this->assertIdentical($encoding->asString(), 'a=aaa'); + } + + function testPrefilledWithObject() { + $encoding = &new SimpleFormEncoding(new SimpleFormEncoding(array('a' => 'aaa'))); + $this->assertIdentical($encoding->getValue('a'), 'aaa'); + $this->assertIdentical($encoding->getKeys(), array('a')); + $this->assertIdentical($encoding->asString(), 'a=aaa'); + } + + function testMultiplePrefilled() { + $encoding = &new SimpleFormEncoding(array('a' => array('a1', 'a2'))); + $this->assertIdentical($encoding->getValue('a'), array('a1', 'a2')); + $this->assertIdentical($encoding->asString(), 'a=a1&a=a2'); + } + + function testSingleParameter() { + $encoding = &new SimpleFormEncoding(); + $encoding->add('a', 'Hello'); + $this->assertEqual($encoding->getValue('a'), 'Hello'); + $this->assertIdentical($encoding->asString(), 'a=Hello'); + } + + function testFalseParameter() { + $encoding = &new SimpleFormEncoding(); + $encoding->add('a', false); + $this->assertEqual($encoding->getValue('a'), false); + $this->assertIdentical($encoding->asString(), ''); + } + + function testUrlEncoding() { + $encoding = &new SimpleFormEncoding(); + $encoding->add('a', 'Hello there!'); + $this->assertIdentical($encoding->asString(), 'a=Hello+there%21'); + } + + function testMultipleParameter() { + $encoding = &new SimpleFormEncoding(); + $encoding->add('a', 'Hello'); + $encoding->add('b', 'Goodbye'); + $this->assertIdentical($encoding->asString(), 'a=Hello&b=Goodbye'); + } + + function testEmptyParameters() { + $encoding = &new SimpleFormEncoding(); + $encoding->add('a', ''); + $encoding->add('b', ''); + $this->assertIdentical($encoding->asString(), 'a=&b='); + } + + function testRepeatedParameter() { + $encoding = &new SimpleFormEncoding(); + $encoding->add('a', 'Hello'); + $encoding->add('a', 'Goodbye'); + $this->assertIdentical($encoding->getValue('a'), array('Hello', 'Goodbye')); + $this->assertIdentical($encoding->asString(), 'a=Hello&a=Goodbye'); + } + + function testDefaultCoordinatesAreUnset() { + $encoding = &new SimpleFormEncoding(); + $this->assertIdentical($encoding->getX(), false); + $this->assertIdentical($encoding->getY(), false); + } + + function testSettingCoordinates() { + $encoding = &new SimpleFormEncoding(); + $encoding->setCoordinates('32', '45'); + $this->assertIdentical($encoding->getX(), 32); + $this->assertIdentical($encoding->getY(), 45); + $this->assertIdentical($encoding->asString(), '?32,45'); + } + + function testClearingCordinates() { + $encoding = &new SimpleFormEncoding(); + $encoding->setCoordinates('32', '45'); + $encoding->setCoordinates(); + $this->assertIdentical($encoding->getX(), false); + $this->assertIdentical($encoding->getY(), false); + } + + function testAddingLists() { + $encoding = &new SimpleFormEncoding(); + $encoding->add('a', array('Hello', 'Goodbye')); + $this->assertIdentical($encoding->getValue('a'), array('Hello', 'Goodbye')); + $this->assertIdentical($encoding->asString(), 'a=Hello&a=Goodbye'); + } + + function testMergeInHash() { + $encoding = &new SimpleFormEncoding(array('a' => 'A1', 'b' => 'B')); + $encoding->merge(array('a' => 'A2')); + $this->assertIdentical($encoding->getValue('a'), array('A1', 'A2')); + $this->assertIdentical($encoding->getValue('b'), 'B'); + } + + function testMergeInObject() { + $encoding = &new SimpleFormEncoding(array('a' => 'A1', 'b' => 'B')); + $encoding->merge(new SimpleFormEncoding(array('a' => 'A2'))); + $this->assertIdentical($encoding->getValue('a'), array('A1', 'A2')); + $this->assertIdentical($encoding->getValue('b'), 'B'); + } + + function testMergeInObjectWithCordinates() { + $incoming = new SimpleFormEncoding(array('a' => 'A2')); + $incoming->setCoordinates(25, 24); + + $encoding = &new SimpleFormEncoding(array('a' => 'A1')); + $encoding->setCoordinates(1, 2); + $encoding->merge($incoming); + + $this->assertIdentical($encoding->getValue('a'), array('A1', 'A2')); + $this->assertIdentical($encoding->getX(), 25); + $this->assertIdentical($encoding->getY(), 24); + $this->assertIdentical($encoding->asString(), 'a=A1&a=A2?25,24'); + } + } +?> \ No newline at end of file -- cgit v1.2.3