Merge pull request #13259 from agh1/disabled-expired-mem
[civicrm-core.git] / tests / phpunit / CRM / Core / Smarty / plugins / CrmMoneyTest.php
1 <?php
2
3 /**
4 * Class CRM_Core_Smarty_plugins_CrmMoneyTest
5 * @group headless
6 */
7 class CRM_Core_Smarty_plugins_CrmMoneyTest extends CiviUnitTestCase {
8 public function setUp() {
9 parent::setUp();
10 require_once 'CRM/Core/Smarty.php';
11
12 // Templates should normally be file names, but for unit-testing it's handy to use "string:" notation
13 require_once 'CRM/Core/Smarty/resources/String.php';
14 civicrm_smarty_register_string_resource();
15 }
16
17 /**
18 * @return array
19 */
20 public function moneyCases() {
21 $cases = [];
22 $cases[] = ['$ 4.00', '{assign var="amount" value="4.00"}{$amount|crmMoney:USD}'];
23 $cases[] = ['€ 1,234.00', '{assign var="amount" value="1234.00"}{$amount|crmMoney:EUR}'];
24 $cases[] = [
25 '$ <input size="10" style="background-color:#EBECE4" readonly="readonly" name="eachPaymentAmount" type="text" id="eachPaymentAmount" class="crm-form-text">',
26 '{assign var="amount" value=\'<input size="10" style="background-color:#EBECE4" readonly="readonly" name="eachPaymentAmount" type="text" id="eachPaymentAmount" class="crm-form-text">\'}{$amount|crmMoney:USD}'
27 ];
28 return $cases;
29 }
30
31 /**
32 * @dataProvider moneyCases
33 * @param $expected
34 * @param $input
35 */
36 public function testMoney($expected, $input) {
37 $smarty = CRM_Core_Smarty::singleton();
38 $actual = $smarty->fetch('string:' . $input);
39 $this->assertEquals($expected, $actual, "Process input=[$input]");
40 }
41
42 }