Ejegg has uploaded a new change for review. https://gerrit.wikimedia.org/r/162776
Change subject: Fix form HTML generation test ...................................................................... Fix form HTML generation test Test basics of nodes and values rather than strict string compare. Change-Id: I90021ad357b979566417eee50431c02ee893027c --- M tests/Gateway_FormTestCase.php 1 file changed, 18 insertions(+), 23 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/DonationInterface refs/changes/76/162776/1 diff --git a/tests/Gateway_FormTestCase.php b/tests/Gateway_FormTestCase.php index ac360b7..1201355 100644 --- a/tests/Gateway_FormTestCase.php +++ b/tests/Gateway_FormTestCase.php @@ -228,33 +228,28 @@ * @covers Gateway_Form::generateCurrencyDropdown */ public function testGenerateCurrencyDropdown(){ - $expected = '<select name="currency_code" id="input_currency_code" onchange="">'; - $currencies = $this->form->gateway->getCurrencies(); + $currencies = array_flip( $this->form->gateway->getCurrencies() ); - foreach ( $currencies as $curr ) { - $expected .= '<option value="' . $curr; + $dom_thingy = new DOMDocument(); - if ( $curr === 'USD' ) { - $expected .= '" selected="'; + $dom_thingy->encoding = 'UTF-8'; + $dom_thingy->loadHTML( '<?xml encoding="UTF-8">' . $this->form->generateCurrencyDropdown() ); + + $select_node = $dom_thingy->getElementById( 'input_currency_code' ); + $this->assertEquals( 'currency_code', $select_node->getAttribute( 'name' ) ); + + foreach ( $select_node->childNodes as $option ) { + $currency = $option->getAttribute( 'value' ); + $this->assertNotNull( $currencies[$currency], 'Currency node generated for non-existent ' . $currency ); + $msg = wfMessage( 'donate_interface-' . $currency ); + if ( ! $msg->inContentLanguage()->isBlank() ) { + $this->assertEquals( $msg, $option->nodeValue, 'Option text wrong for currency ' . $currency ); } - - $expected .= '">'; - - $msg = wfMessage( 'donate_interface-' . $curr ); - if ( $msg->inContentLanguage()->isBlank() ) { - $expected .= htmlentities( $msg->text() ); - } else { - $expected .= $msg->text(); + if ( $currency === 'USD' ) { + $this->assertNotNull( $option->getAttribute( 'selected' ) ); } - - $expected .= '</option>'; + unset( $currencies[$currency] ); } - - $expected .= '</select>'; - - $this->assertEquals( - $expected, - $this->form->generateCurrencyDropdown() - ); + $this->assertEmpty( $currencies, 'Did not generate options for all currencies!' ); } } -- To view, visit https://gerrit.wikimedia.org/r/162776 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I90021ad357b979566417eee50431c02ee893027c Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/DonationInterface Gerrit-Branch: master Gerrit-Owner: Ejegg <eeggles...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits