File tree Expand file tree Collapse file tree 6 files changed +36
-6
lines changed
Expand file tree Collapse file tree 6 files changed +36
-6
lines changed Original file line number Diff line number Diff line change 11<?php
22
3- namespace Tempest \Support ;
3+ namespace Tempest \Intl ;
4+
5+ use Stringable ;
6+ use TypeError ;
7+ use ValueError ;
8+
9+ use function Tempest \Support \str ;
410
511/**
612 * Represents an ISO-4217 currency.
@@ -165,12 +171,15 @@ enum Currency: string
165171 case ZMW = 'ZMW ' ;
166172 case ZWG = 'ZWG ' ;
167173
174+ /**
175+ * Parses the given value into a `Currency` instance.
176+ */
168177 public static function parse (mixed $ currency ): self
169178 {
170179 if ($ currency instanceof self) {
171180 return $ currency ;
172181 }
173182
174- return self ::from ($ currency );
183+ return self ::from (str ( $ currency)-> trim ()-> upper ()-> toString () );
175184 }
176185}
Original file line number Diff line number Diff line change 22
33namespace Tempest \Intl \MessageFormat \Functions ;
44
5+ use Tempest \Intl \Currency ;
56use Tempest \Intl \IntlConfig ;
67use Tempest \Intl \Locale ;
78use Tempest \Intl \MessageFormat \Formatter \FormattedValue ;
1011use Tempest \Intl \Number ;
1112use Tempest \Intl \PluralRules \PluralRulesMatcher ;
1213use Tempest \Support \Arr ;
13- use Tempest \Support \Currency ;
1414use Tempest \Support \Str ;
1515
1616final class NumberFunction implements FormattingFunction, SelectorFunction
Original file line number Diff line number Diff line change 33namespace Tempest \Intl \Number ;
44
55use NumberFormatter ;
6+ use Tempest \Intl \Currency ;
67use Tempest \Intl \Locale ;
7- use Tempest \Support \Currency ;
88use Tempest \Support \Math ;
99
1010/**
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Tempest \Intl \Tests ;
4+
5+ use PHPUnit \Framework \TestCase ;
6+ use Tempest \Intl \Currency ;
7+
8+ use function Tempest \Support \str ;
9+
10+ final class CurrencyTest extends TestCase
11+ {
12+ public function test_parse (): void
13+ {
14+ $ this ->assertSame (Currency::EUR , Currency::parse ('EUR ' ));
15+ $ this ->assertSame (Currency::EUR , Currency::parse (' EUR ' ));
16+ $ this ->assertSame (Currency::EUR , Currency::parse ('eur ' ));
17+ $ this ->assertSame (Currency::EUR , Currency::parse (' eur ' ));
18+ $ this ->assertSame (Currency::EUR , Currency::parse (Currency::EUR ));
19+ $ this ->assertSame (Currency::EUR , Currency::parse (str ('eur ' )));
20+ }
21+ }
Original file line number Diff line number Diff line change 55use PHPUnit \Framework \Attributes \TestWith ;
66use PHPUnit \Framework \TestCase ;
77use Tempest \DateTime \DateTime ;
8+ use Tempest \Intl \Currency ;
89use Tempest \Intl \IntlConfig ;
910use Tempest \Intl \Locale ;
1011use Tempest \Intl \MessageFormat \Formatter \FormattedValue ;
1516use Tempest \Intl \MessageFormat \Functions \StringFunction ;
1617use Tempest \Intl \MessageFormat \Markup \HtmlTagFormatter ;
1718use Tempest \Intl \MessageFormat \Markup \VoidHtmlTagFormatter ;
18- use Tempest \Support \Currency ;
1919
2020final class FormatterTest extends TestCase
2121{
Original file line number Diff line number Diff line change 44
55use PHPUnit \Framework \Attributes \RequiresPhpExtension ;
66use PHPUnit \Framework \TestCase ;
7+ use Tempest \Intl \Currency ;
78use Tempest \Intl \Locale ;
89use Tempest \Intl \Number ;
9- use Tempest \Support \Currency ;
1010use Tempest \Support \Math ;
1111
1212final class FunctionsTest extends TestCase
You can’t perform that action at this time.
0 commit comments