Skip to content

Commit 9276419

Browse files
committed
This improvement number format support
* Local month name and AM/PM format support Tibetan and Traditional Mongolian * Support text place holder
1 parent 3231817 commit 9276419

File tree

2 files changed

+147
-2
lines changed

2 files changed

+147
-2
lines changed

numfmt.go

+55-2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ var (
4646
nfp.TokenTypeElapsedDateTimes,
4747
nfp.TokenTypeGeneral,
4848
nfp.TokenTypeLiteral,
49+
nfp.TokenTypeTextPlaceHolder,
4950
nfp.TokenSubTypeLanguageInfo,
5051
}
5152
// supportedLanguageInfo directly maps the supported language ID and tags.
@@ -135,6 +136,9 @@ var (
135136
"411": {tags: []string{"ja-JP"}, localMonth: localMonthsNameChinese3, apFmt: apFmtJapanese},
136137
"12": {tags: []string{"ko"}, localMonth: localMonthsNameKorean, apFmt: apFmtKorean},
137138
"412": {tags: []string{"ko-KR"}, localMonth: localMonthsNameKorean, apFmt: apFmtKorean},
139+
"7C50": {tags: []string{"mn-Mong"}, localMonth: localMonthsNameTraditionalMongolian, apFmt: nfp.AmPm[0]},
140+
"850": {tags: []string{"mn-Mong-CN"}, localMonth: localMonthsNameTraditionalMongolian, apFmt: nfp.AmPm[0]},
141+
"C50": {tags: []string{"mn-Mong-MN"}, localMonth: localMonthsNameTraditionalMongolian, apFmt: nfp.AmPm[0]},
138142
"19": {tags: []string{"ru"}, localMonth: localMonthsNameRussian, apFmt: nfp.AmPm[0]},
139143
"819": {tags: []string{"ru-MD"}, localMonth: localMonthsNameRussian, apFmt: nfp.AmPm[0]},
140144
"419": {tags: []string{"ru-RU"}, localMonth: localMonthsNameRussian, apFmt: nfp.AmPm[0]},
@@ -151,6 +155,8 @@ var (
151155
"440A": {tags: []string{"es-SV"}, localMonth: localMonthsNameSpanish, apFmt: apFmtSpanish},
152156
"1E": {tags: []string{"th"}, localMonth: localMonthsNameThai, apFmt: nfp.AmPm[0]},
153157
"41E": {tags: []string{"th-TH"}, localMonth: localMonthsNameThai, apFmt: nfp.AmPm[0]},
158+
"51": {tags: []string{"bo"}, localMonth: localMonthsNameTibetan, apFmt: apFmtTibetan},
159+
"451": {tags: []string{"bo-CN"}, localMonth: localMonthsNameTibetan, apFmt: apFmtTibetan},
154160
"1F": {tags: []string{"tr"}, localMonth: localMonthsNameTurkish, apFmt: apFmtTurkish},
155161
"41F": {tags: []string{"tr-TR"}, localMonth: localMonthsNameTurkish, apFmt: apFmtTurkish},
156162
"52": {tags: []string{"cy"}, localMonth: localMonthsNameWelsh, apFmt: apFmtWelsh},
@@ -214,6 +220,21 @@ var (
214220
"\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19",
215221
"\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21",
216222
}
223+
// monthNamesTibetan list the month names in the Tibetan.
224+
monthNamesTibetan = []string{
225+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c\u0f0b",
226+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b",
227+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54\u0f0b",
228+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54\u0f0b",
229+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54\u0f0b",
230+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54\u0f0b",
231+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54\u0f0b",
232+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54\u0f0b",
233+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54\u0f0b",
234+
"\u0f66\u0fa4\u0fb1\u0f72\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54\u0f0d",
235+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54\u0f0b",
236+
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b",
237+
}
217238
// monthNamesTurkish list the month names in the Turkish.
218239
monthNamesTurkish = []string{"Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"}
219240
// monthNamesWelsh list the month names in the Welsh.
@@ -238,6 +259,8 @@ var (
238259
apFmtKorean = "오전/오후"
239260
// apFmtSpanish defined the AM/PM name in the Spanish.
240261
apFmtSpanish = "a. m./p. m."
262+
// apFmtTibetan defined the AM/PM name in the Tibetan.
263+
apFmtTibetan = "\u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b/\u0f55\u0fb1\u0f72\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"
241264
// apFmtTurkish defined the AM/PM name in the Turkish.
242265
apFmtTurkish = "\u00F6\u00F6/\u00F6\u0053"
243266
// apFmtVietnamese defined the AM/PM name in the Vietnamese.
@@ -480,6 +503,14 @@ func localMonthsNameKorean(t time.Time, abbr int) string {
480503
return strconv.Itoa(int(t.Month()))
481504
}
482505

506+
// localMonthsNameTraditionalMongolian returns the Traditional Mongolian name of the month.
507+
func localMonthsNameTraditionalMongolian(t time.Time, abbr int) string {
508+
if abbr == 5 {
509+
return "M"
510+
}
511+
return fmt.Sprintf("M%02d", int(t.Month()))
512+
}
513+
483514
// localMonthsNameRussian returns the Russian name of the month.
484515
func localMonthsNameRussian(t time.Time, abbr int) string {
485516
if abbr == 3 {
@@ -518,6 +549,20 @@ func localMonthsNameThai(t time.Time, abbr int) string {
518549
return string([]rune(monthNamesThai[int(t.Month())-1])[:1])
519550
}
520551

552+
// localMonthsNameTibetan returns the Tibetan name of the month.
553+
func localMonthsNameTibetan(t time.Time, abbr int) string {
554+
if abbr == 3 {
555+
return "\u0f5f\u0fb3\u0f0b" + []string{"\u0f21", "\u0f22", "\u0f23", "\u0f24", "\u0f25", "\u0f26", "\u0f27", "\u0f28", "\u0f29", "\u0f21\u0f20", "\u0f21\u0f21", "\u0f21\u0f22"}[int(t.Month())-1]
556+
}
557+
if abbr == 5 {
558+
if t.Month() == 10 {
559+
return "\u0f66"
560+
}
561+
return "\u0f5f"
562+
}
563+
return string(monthNamesTibetan[int(t.Month())-1])
564+
}
565+
521566
// localMonthsNameTurkish returns the Turkish name of the month.
522567
func localMonthsNameTurkish(t time.Time, abbr int) string {
523568
if abbr == 3 {
@@ -839,8 +884,16 @@ func (nf *numberFormat) zeroHandler() string {
839884
}
840885

841886
// textHandler will be handling text selection for a number format expression.
842-
func (nf *numberFormat) textHandler() string {
843-
return fmt.Sprint(nf.value)
887+
func (nf *numberFormat) textHandler() (result string) {
888+
for _, token := range nf.section[nf.sectionIdx].Items {
889+
if token.TType == nfp.TokenTypeLiteral {
890+
result += token.TValue
891+
}
892+
if token.TType == nfp.TokenTypeTextPlaceHolder {
893+
result += nf.value
894+
}
895+
}
896+
return result
844897
}
845898

846899
// getValueSectionType returns its applicable number format expression section

numfmt_test.go

+92
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,24 @@ func TestNumFmt(t *testing.T) {
253253
{"43543.503206018519", "[$-412]mmm dd yyyy h:mm AM/PM", "3월 19 2019 12:04 오전"},
254254
{"43543.503206018519", "[$-412]mmmm dd yyyy h:mm AM/PM", "3월 19 2019 12:04 오전"},
255255
{"43543.503206018519", "[$-412]mmmmm dd yyyy h:mm AM/PM", "3 19 2019 12:04 오전"},
256+
{"44562.189571759256", "[$-7C50]mmm dd yyyy h:mm AM/PM", "M01 01 2022 4:32 AM"},
257+
{"44896.18957170139", "[$-7C50]mmm dd yyyy h:mm AM/PM", "M12 01 2022 4:32 AM"},
258+
{"44562.189571759256", "[$-7C50]mmmm dd yyyy h:mm AM/PM", "M01 01 2022 4:32 AM"},
259+
{"44896.18957170139", "[$-7C50]mmmm dd yyyy h:mm AM/PM", "M12 01 2022 4:32 AM"},
260+
{"44562.189571759256", "[$-7C50]mmmmm dd yyyy h:mm AM/PM", "M 01 2022 4:32 AM"},
261+
{"44896.18957170139", "[$-7C50]mmmmm dd yyyy h:mm AM/PM", "M 01 2022 4:32 AM"},
262+
{"44562.189571759256", "[$-850]mmm dd yyyy h:mm AM/PM", "M01 01 2022 4:32 AM"},
263+
{"44896.18957170139", "[$-850]mmm dd yyyy h:mm AM/PM", "M12 01 2022 4:32 AM"},
264+
{"44562.189571759256", "[$-850]mmmm dd yyyy h:mm AM/PM", "M01 01 2022 4:32 AM"},
265+
{"44896.18957170139", "[$-850]mmmm dd yyyy h:mm AM/PM", "M12 01 2022 4:32 AM"},
266+
{"44562.189571759256", "[$-850]mmmmm dd yyyy h:mm AM/PM", "M 01 2022 4:32 AM"},
267+
{"44896.18957170139", "[$-850]mmmmm dd yyyy h:mm AM/PM", "M 01 2022 4:32 AM"},
268+
{"44562.189571759256", "[$-C50]mmm dd yyyy h:mm AM/PM", "M01 01 2022 4:32 AM"},
269+
{"44896.18957170139", "[$-C50]mmm dd yyyy h:mm AM/PM", "M12 01 2022 4:32 AM"},
270+
{"44562.189571759256", "[$-C50]mmmm dd yyyy h:mm AM/PM", "M01 01 2022 4:32 AM"},
271+
{"44896.18957170139", "[$-C50]mmmm dd yyyy h:mm AM/PM", "M12 01 2022 4:32 AM"},
272+
{"44562.189571759256", "[$-C50]mmmmm dd yyyy h:mm AM/PM", "M 01 2022 4:32 AM"},
273+
{"44896.18957170139", "[$-C50]mmmmm dd yyyy h:mm AM/PM", "M 01 2022 4:32 AM"},
256274
{"44562.189571759256", "[$-19]mmm dd yyyy h:mm AM/PM", "янв. 01 2022 4:32 AM"},
257275
{"44562.189571759256", "[$-19]mmmm dd yyyy h:mm AM/PM", "январь 01 2022 4:32 AM"},
258276
{"44562.189571759256", "[$-19]mmmmm dd yyyy h:mm AM/PM", "я 01 2022 4:32 AM"},
@@ -400,6 +418,78 @@ func TestNumFmt(t *testing.T) {
400418
{"44835.18957170139", "[$-41E]mmmmm dd yyyy h:mm AM/PM", "\u0e15 01 2022 4:32 AM"},
401419
{"44866.18957170139", "[$-41E]mmmmm dd yyyy h:mm AM/PM", "\u0e1e 01 2022 4:32 AM"},
402420
{"44896.18957170139", "[$-41E]mmmmm dd yyyy h:mm AM/PM", "\u0e18 01 2022 4:32 AM"},
421+
{"44562.189571759256", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f21 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
422+
{"44593.189571759256", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f22 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
423+
{"44621.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f23 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
424+
{"44652.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f24 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
425+
{"44682.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f25 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
426+
{"44713.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f26 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
427+
{"44743.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f27 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
428+
{"44774.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f28 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
429+
{"44805.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f29 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
430+
{"44835.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f21\u0f20 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
431+
{"44866.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f21\u0f21 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
432+
{"44896.18957170139", "[$-51]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f21\u0f22 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
433+
{"44562.189571759256", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
434+
{"44593.189571759256", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
435+
{"44621.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
436+
{"44652.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
437+
{"44682.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
438+
{"44713.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
439+
{"44743.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
440+
{"44774.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
441+
{"44805.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
442+
{"44835.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f66\u0fa4\u0fb1\u0f72\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54\u0f0d 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
443+
{"44866.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
444+
{"44896.18957170139", "[$-51]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
445+
{"44562.189571759256", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
446+
{"44593.189571759256", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
447+
{"44621.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
448+
{"44652.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
449+
{"44682.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
450+
{"44713.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
451+
{"44743.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
452+
{"44774.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
453+
{"44805.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
454+
{"44835.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f66 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
455+
{"44866.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
456+
{"44896.18957170139", "[$-51]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
457+
{"44562.189571759256", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f21 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
458+
{"44593.189571759256", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f22 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
459+
{"44621.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f23 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
460+
{"44652.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f24 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
461+
{"44682.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f25 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
462+
{"44713.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f26 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
463+
{"44743.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f27 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
464+
{"44774.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f28 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
465+
{"44805.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f29 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
466+
{"44835.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f21\u0f20 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
467+
{"44866.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f21\u0f21 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
468+
{"44896.18957170139", "[$-451]mmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f21\u0f22 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
469+
{"44562.189571759256", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
470+
{"44593.189571759256", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
471+
{"44621.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
472+
{"44652.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
473+
{"44682.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
474+
{"44713.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
475+
{"44743.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
476+
{"44774.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
477+
{"44805.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
478+
{"44835.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f66\u0fa4\u0fb1\u0f72\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54\u0f0d 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
479+
{"44866.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
480+
{"44896.18957170139", "[$-451]mmmm dd yyyy h:mm AM/PM", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
481+
{"44562.189571759256", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
482+
{"44593.189571759256", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
483+
{"44621.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
484+
{"44652.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
485+
{"44682.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
486+
{"44713.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
487+
{"44743.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
488+
{"44774.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
489+
{"44805.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
490+
{"44835.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f66 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
491+
{"44866.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
492+
{"44896.18957170139", "[$-451]mmmmm dd yyyy h:mm AM/PM", "\u0f5f 01 2022 4:32 \u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b"},
403493
{"44562.189571759256", "[$-1F]mmm dd yyyy h:mm AM/PM", "Oca 01 2022 4:32 \u00F6\u00F6"},
404494
{"44593.189571759256", "[$-1F]mmm dd yyyy h:mm AM/PM", "Şub 01 2022 4:32 \u00F6\u00F6"},
405495
{"44621.18957170139", "[$-1F]mmm dd yyyy h:mm AM/PM", "Mar 01 2022 4:32 \u00F6\u00F6"},
@@ -904,6 +994,8 @@ func TestNumFmt(t *testing.T) {
904994
{"44835.18957170139", "[$-435]mmmmm dd yyyy h:mm AM/PM", "O 01 2022 4:32 AM"},
905995
{"44866.18957170139", "[$-435]mmmmm dd yyyy h:mm AM/PM", "N 01 2022 4:32 AM"},
906996
{"44896.18957170139", "[$-435]mmmmm dd yyyy h:mm AM/PM", "D 01 2022 4:32 AM"},
997+
{"text_", "General", "text_"},
998+
{"text_", "\"=====\"@@@\"--\"@\"----\"", "=====text_text_text_--text_----"},
907999
} {
9081000
result := format(item[0], item[1])
9091001
assert.Equal(t, item[2], result, item)

0 commit comments

Comments
 (0)