@@ -30,54 +30,49 @@ class Buffer {
30
30
31
31
TEST (IntlNumberFormat, Basic)
32
32
{
33
- NumberFormatOptions options;
34
- UniquePtr<NumberFormat> nf =
35
- NumberFormat::TryCreate (" en-US" , options).unwrap ();
33
+ NumberFormat nf (" en-US" );
36
34
Buffer<uint8_t > buf8;
37
- ASSERT_TRUE (nf-> format (1234.56 , buf8). isOk ( ));
35
+ ASSERT_TRUE (nf. format (1234.56 , buf8));
38
36
ASSERT_EQ (
39
37
std::string_view (static_cast <const char *>(buf8.data ()), buf8.mWritten ),
40
38
" 1,234.56" );
41
39
Buffer<char16_t > buf16;
42
- ASSERT_TRUE (nf-> format (1234.56 , buf16). isOk ( ));
40
+ ASSERT_TRUE (nf. format (1234.56 , buf16));
43
41
ASSERT_EQ (std::u16string_view (static_cast <const char16_t *>(buf16.data ()),
44
42
buf16.mWritten ),
45
43
u" 1,234.56" );
46
- const char16_t * res16 = nf-> format (1234.56 ). unwrap (). data ( );
44
+ const char16_t * res16 = nf. format (1234.56 );
47
45
ASSERT_TRUE (res16 != nullptr );
48
46
ASSERT_EQ (std::u16string_view (res16), u" 1,234.56" );
49
47
50
- UniquePtr<NumberFormat> nfAr =
51
- NumberFormat::TryCreate (" ar" , options).unwrap ();
52
- ASSERT_TRUE (nfAr->format (1234.56 , buf8).isOk ());
48
+ NumberFormat nfAr (" ar" );
49
+ ASSERT_TRUE (nfAr.format (1234.56 , buf8));
53
50
ASSERT_EQ (
54
51
std::string_view (static_cast <const char *>(buf8.data ()), buf8.mWritten ),
55
52
" ١٬٢٣٤٫٥٦" );
56
- ASSERT_TRUE (nfAr-> format (1234.56 , buf16). isOk ( ));
53
+ ASSERT_TRUE (nfAr. format (1234.56 , buf16));
57
54
ASSERT_EQ (std::u16string_view (static_cast <const char16_t *>(buf16.data ()),
58
55
buf16.mWritten ),
59
56
u" ١٬٢٣٤٫٥٦" );
60
- res16 = nfAr-> format (1234.56 ). unwrap (). data ( );
57
+ res16 = nfAr. format (1234.56 );
61
58
ASSERT_TRUE (res16 != nullptr );
62
59
ASSERT_EQ (std::u16string_view (res16), u" ١٬٢٣٤٫٥٦" );
63
60
}
64
61
65
62
TEST (IntlNumberFormat, Numbers)
66
63
{
67
- NumberFormatOptions options;
68
- UniquePtr<NumberFormat> nf =
69
- NumberFormat::TryCreate (" es-ES" , options).unwrap ();
64
+ NumberFormat nf (" es-ES" );
70
65
Buffer<uint8_t > buf8;
71
- ASSERT_TRUE (nf-> format (123456.789 , buf8). isOk ( ));
66
+ ASSERT_TRUE (nf. format (123456.789 , buf8));
72
67
ASSERT_EQ (
73
68
std::string_view (static_cast <const char *>(buf8.data ()), buf8.mWritten ),
74
69
" 123.456,789" );
75
70
Buffer<char16_t > buf16;
76
- ASSERT_TRUE (nf-> format (123456.789 , buf16). isOk ( ));
71
+ ASSERT_TRUE (nf. format (123456.789 , buf16));
77
72
ASSERT_EQ (std::u16string_view (static_cast <const char16_t *>(buf16.data ()),
78
73
buf16.mWritten ),
79
74
u" 123.456,789" );
80
- const char16_t * res = nf-> format (123456.789 ). unwrap (). data ( );
75
+ const char16_t * res = nf. format (123456.789 );
81
76
ASSERT_TRUE (res != nullptr );
82
77
ASSERT_EQ (std::u16string_view (res), u" 123.456,789" );
83
78
}
@@ -86,14 +81,13 @@ TEST(IntlNumberFormat, SignificantDigits)
86
81
{
87
82
NumberFormatOptions options;
88
83
options.mSignificantDigits = Some (std::make_pair (3 , 5 ));
89
- UniquePtr<NumberFormat> nf =
90
- NumberFormat::TryCreate (" es-ES" , options).unwrap ();
84
+ NumberFormat nf (" es-ES" , options);
91
85
Buffer<uint8_t > buf8;
92
- ASSERT_TRUE (nf-> format (123456.789 , buf8). isOk ( ));
86
+ ASSERT_TRUE (nf. format (123456.789 , buf8));
93
87
ASSERT_EQ (
94
88
std::string_view (static_cast <const char *>(buf8.data ()), buf8.mWritten ),
95
89
" 123.460" );
96
- ASSERT_TRUE (nf-> format (0.7 , buf8). isOk ( ));
90
+ ASSERT_TRUE (nf. format (0.7 , buf8));
97
91
ASSERT_EQ (
98
92
std::string_view (static_cast <const char *>(buf8.data ()), buf8.mWritten ),
99
93
" 0,700" );
@@ -102,21 +96,20 @@ TEST(IntlNumberFormat, SignificantDigits)
102
96
TEST (IntlNumberFormat, Currency)
103
97
{
104
98
NumberFormatOptions options;
105
- options.mCurrency =
106
- Some (std::make_pair (" MXN" , NumberFormatOptions::CurrencyDisplay::Symbol));
107
- UniquePtr<NumberFormat> nf =
108
- NumberFormat::TryCreate (" es-MX" , options).unwrap ();
99
+ options.mCurrency = Some (
100
+ std::make_pair (" MXN" , NumberFormatOptions::CurrencyDisplayStyle::Symbol));
101
+ NumberFormat nf (" es-MX" , options);
109
102
Buffer<uint8_t > buf8;
110
- ASSERT_TRUE (nf-> format (123456.789 , buf8). isOk ( ));
103
+ ASSERT_TRUE (nf. format (123456.789 , buf8));
111
104
ASSERT_EQ (
112
105
std::string_view (static_cast <const char *>(buf8.data ()), buf8.mWritten ),
113
106
" $123,456.79" );
114
107
Buffer<char16_t > buf16;
115
- ASSERT_TRUE (nf-> format (123456.789 , buf16). isOk ( ));
108
+ ASSERT_TRUE (nf. format (123456.789 , buf16));
116
109
ASSERT_EQ (std::u16string_view (static_cast <const char16_t *>(buf16.data ()),
117
110
buf16.mWritten ),
118
111
u" $123,456.79" );
119
- const char16_t * res = nf-> format (123456.789 ). unwrap (). data ( );
112
+ const char16_t * res = nf. format (123456.789 );
120
113
ASSERT_TRUE (res != nullptr );
121
114
ASSERT_EQ (std::u16string_view (res), u" $123,456.79" );
122
115
}
@@ -126,19 +119,18 @@ TEST(IntlNumberFormat, Unit)
126
119
NumberFormatOptions options;
127
120
options.mUnit = Some (std::make_pair (" meter-per-second" ,
128
121
NumberFormatOptions::UnitDisplay::Long));
129
- UniquePtr<NumberFormat> nf =
130
- NumberFormat::TryCreate (" es-MX" , options).unwrap ();
122
+ NumberFormat nf (" es-MX" , options);
131
123
Buffer<uint8_t > buf8;
132
- ASSERT_TRUE (nf-> format (12.34 , buf8). isOk ( ));
124
+ ASSERT_TRUE (nf. format (12.34 , buf8));
133
125
ASSERT_EQ (
134
126
std::string_view (static_cast <const char *>(buf8.data ()), buf8.mWritten ),
135
127
" 12.34 metros por segundo" );
136
128
Buffer<char16_t > buf16;
137
- ASSERT_TRUE (nf-> format (12.34 , buf16). isOk ( ));
129
+ ASSERT_TRUE (nf. format (12.34 , buf16));
138
130
ASSERT_EQ (std::u16string_view (static_cast <const char16_t *>(buf16.data ()),
139
131
buf16.mWritten ),
140
132
u" 12.34 metros por segundo" );
141
- const char16_t * res = nf-> format (12.34 ). unwrap (). data ( );
133
+ const char16_t * res = nf. format (12.34 );
142
134
ASSERT_TRUE (res != nullptr );
143
135
ASSERT_EQ (std::u16string_view (res), u" 12.34 metros por segundo" );
144
136
@@ -147,37 +139,18 @@ TEST(IntlNumberFormat, Unit)
147
139
const char * unit = " meter-per-second-with-some-trailing-garbage" ;
148
140
options.mUnit = Some (std::make_pair (std::string_view (unit, 5 ),
149
141
NumberFormatOptions::UnitDisplay::Long));
150
- UniquePtr<NumberFormat> nf2 =
151
- NumberFormat::TryCreate (" es-MX" , options).unwrap ();
152
- res = nf2->format (12.34 ).unwrap ().data ();
142
+ NumberFormat nf2 (" es-MX" , options);
143
+ res = nf2.format (12.34 );
153
144
ASSERT_TRUE (res != nullptr );
154
145
ASSERT_EQ (std::u16string_view (res), u" 12.34 metros" );
155
146
156
147
options.mUnit = Some (std::make_pair (std::string_view (unit, 16 ),
157
148
NumberFormatOptions::UnitDisplay::Long));
158
- UniquePtr<NumberFormat> nf3 =
159
- NumberFormat::TryCreate (" es-MX" , options).unwrap ();
160
- res = nf3->format (12.34 ).unwrap ().data ();
149
+ NumberFormat nf3 (" es-MX" , options);
150
+ res = nf3.format (12.34 );
161
151
ASSERT_TRUE (res != nullptr );
162
152
ASSERT_EQ (std::u16string_view (res), u" 12.34 metros por segundo" );
163
153
}
164
154
165
- TEST (IntlNumberFormat, FormatToParts)
166
- {
167
- NumberFormatOptions options;
168
- UniquePtr<NumberFormat> nf =
169
- NumberFormat::TryCreate (" es-ES" , options).unwrap ();
170
- NumberPartVector parts;
171
- const char16_t * res = nf->formatToParts (123456.789 , parts).unwrap ().data ();
172
- ASSERT_TRUE (res != nullptr );
173
- ASSERT_EQ (std::u16string_view (res), u" 123.456,789" );
174
- ASSERT_EQ (parts.length (), 5U );
175
- ASSERT_EQ (parts[0 ], (NumberPart{NumberPartType::Integer, 3 }));
176
- ASSERT_EQ (parts[1 ], (NumberPart{NumberPartType::Group, 4 }));
177
- ASSERT_EQ (parts[2 ], (NumberPart{NumberPartType::Integer, 7 }));
178
- ASSERT_EQ (parts[3 ], (NumberPart{NumberPartType::Decimal, 8 }));
179
- ASSERT_EQ (parts[4 ], (NumberPart{NumberPartType::Fraction, 11 }));
180
- }
181
-
182
155
} // namespace intl
183
156
} // namespace mozilla
0 commit comments