Commit | Line | Data |
---|---|---|
5fb64d51 PF |
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 | } |