Localize numbers in numeric fields

This commit is contained in:
Minh Nguyễn
2021-10-26 01:08:36 -07:00
parent f818cfdd0d
commit 252828bb4b
6 changed files with 135 additions and 42 deletions
+34
View File
@@ -6,4 +6,38 @@ describe('iD.coreLocalizer', function() {
expect(selection.selectChild().classed('localized-text')).to.be.true;
});
});
describe('#floatParser', function () {
it('roundtrips English numbers', function () {
var localizer = iD.coreLocalizer();
var parseFloat = localizer.floatParser('en');
expect(parseFloat((-0.1).toLocaleString(localizer.languageCode()))).to.eql(-0.1);
expect(parseFloat((1.234).toLocaleString(localizer.languageCode()))).to.eql(1.234);
expect(parseFloat(1234).toLocaleString(localizer.languageCode())).to.eql(1234);
expect(parseFloat(1234.56).toLocaleString(localizer.languageCode())).to.eql(1234.56);
});
it('roundtrips Spanish numbers', function () {
var localizer = iD.coreLocalizer();
var parseFloat = localizer.floatParser('es');
expect(parseFloat((-0.1).toLocaleString(localizer.languageCode()))).to.eql(-0.1);
expect(parseFloat((1.234).toLocaleString(localizer.languageCode()))).to.eql(1.234);
expect(parseFloat(1234).toLocaleString(localizer.languageCode())).to.eql(1234);
expect(parseFloat(1234.56).toLocaleString(localizer.languageCode())).to.eql(1234.56);
});
it('roundtrips Arabic numbers', function () {
var localizer = iD.coreLocalizer();
var parseFloat = localizer.floatParser('ar-EG');
expect(parseFloat((-0.1).toLocaleString(localizer.languageCode()))).to.eql(-0.1);
expect(parseFloat((1.234).toLocaleString(localizer.languageCode()))).to.eql(1.234);
expect(parseFloat(1234).toLocaleString(localizer.languageCode())).to.eql(1234);
expect(parseFloat(1234.56).toLocaleString(localizer.languageCode())).to.eql(1234.56);
});
it('roundtrips Bengali numbers', function () {
var localizer = iD.coreLocalizer();
var parseFloat = localizer.floatParser('bn');
expect(parseFloat((-0.1).toLocaleString(localizer.languageCode()))).to.eql(-0.1);
expect(parseFloat((1.234).toLocaleString(localizer.languageCode()))).to.eql(1.234);
expect(parseFloat(1234).toLocaleString(localizer.languageCode())).to.eql(1234);
expect(parseFloat(1234.56).toLocaleString(localizer.languageCode())).to.eql(1234.56);
});
});
});