// |reftest| skip-if(!this.hasOwnProperty("Intl"))
const {
Nan, Inf, Integer, MinusSign, PlusSign, Literal,
Unit
} = NumberFormatParts;
const testcases = [
{
locale: "en" ,
options: {
style: "unit" ,
unit: "meter" ,
unitDisplay: "short" ,
},
values: [
{value: +0, string: "0 m" , parts: [Integer("0" ), Literal(" " ), Unit("m" )]},
{value: -0, string: "-0 m" , parts: [MinusSign("-" ), Integer("0" ), Literal(" " ), Unit("m" )]},
{value: 0n, string: "0 m" , parts: [Integer("0" ), Literal(" " ), Unit("m" )]},
{value: 1, string: "1 m" , parts: [Integer("1" ), Literal(" " ), Unit("m" )]},
{value: -1, string: "-1 m" , parts: [MinusSign("-" ), Integer("1" ), Literal(" " ), Unit("m" )]},
{value: 1n, string: "1 m" , parts: [Integer("1" ), Literal(" " ), Unit("m" )]},
{value: -1n, string: "-1 m" , parts: [MinusSign("-" ), Integer("1" ), Literal(" " ), Unit("m" )]},
{value: Infinity, string: "∞ m" , parts: [Inf("∞" ), Literal(" " ), Unit("m" )]},
{value: -Infinity, string: "-∞ m" , parts: [MinusSign("-" ), Inf("∞" ), Literal(" " ), Unit("m" )]},
{value: NaN, string: "NaN m" , parts: [Nan("NaN" ), Literal(" " ), Unit("m" )]},
{value: -NaN, string: "NaN m" , parts: [Nan("NaN" ), Literal(" " ), Unit("m" )]},
],
},
{
locale: "en" ,
options: {
style: "unit" ,
unit: "meter" ,
unitDisplay: "narrow" ,
},
values: [
{value: +0, string: "0m" , parts: [Integer("0" ), Unit("m" )]},
{value: -0, string: "-0m" , parts: [MinusSign("-" ), Integer("0" ), Unit("m" )]},
{value: 0n, string: "0m" , parts: [Integer("0" ), Unit("m" )]},
{value: 1, string: "1m" , parts: [Integer("1" ), Unit("m" )]},
{value: -1, string: "-1m" , parts: [MinusSign("-" ), Integer("1" ), Unit("m" )]},
{value: 1n, string: "1m" , parts: [Integer("1" ), Unit("m" )]},
{value: -1n, string: "-1m" , parts: [MinusSign("-" ), Integer("1" ), Unit("m" )]},
{value: Infinity, string: "∞m" , parts: [Inf("∞" ), Unit("m" )]},
{value: -Infinity, string: "-∞m" , parts: [MinusSign("-" ), Inf("∞" ), Unit("m" )]},
{value: NaN, string: "NaNm" , parts: [Nan("NaN" ), Unit("m" )]},
{value: -NaN, string: "NaNm" , parts: [Nan("NaN" ), Unit("m" )]},
],
},
{
locale: "en" ,
options: {
style: "unit" ,
unit: "meter" ,
unitDisplay: "long" ,
},
values: [
{value: +0, string: "0 meters" , parts: [Integer("0" ), Literal(" " ), Unit("meters" )]},
{value: -0, string: "-0 meters" , parts: [MinusSign("-" ), Integer("0" ), Literal(" " ), Unit("meters" )]},
{value: 0n, string: "0 meters" , parts: [Integer("0" ), Literal(" " ), Unit("meters" )]},
{value: 1, string: "1 meter" , parts: [Integer("1" ), Literal(" " ), Unit("meter" )]},
{value: -1, string: "-1 meter" , parts: [MinusSign("-" ), Integer("1" ), Literal(" " ), Unit("meter" )]},
{value: 1n, string: "1 meter" , parts: [Integer("1" ), Literal(" " ), Unit("meter" )]},
{value: -1n, string: "-1 meter" , parts: [MinusSign("-" ), Integer("1" ), Literal(" " ), Unit("meter" )]},
{value: Infinity, string: "∞ meters" , parts: [Inf("∞" ), Literal(" " ), Unit("meters" )]},
{value: -Infinity, string: "-∞ meters" , parts: [MinusSign("-" ), Inf("∞" ), Literal(" " ), Unit("meters" )]},
{value: NaN, string: "NaN meters" , parts: [Nan("NaN" ), Literal(" " ), Unit("meters" )]},
{value: -NaN, string: "NaN meters" , parts: [Nan("NaN" ), Literal(" " ), Unit("meters" )]},
],
},
// Ensure the correct compound unit is automatically selected by ICU. For
// example instead of "50 chilometri al orari", 50 km/h should return
// "50 chilometri orari" in Italian.
{
locale: "it" ,
options: {
style: "unit" ,
unit: "kilometer-per-hour" ,
unitDisplay: "long" ,
},
values: [
{value: 50, string: "50 chilometri orari" , parts: [Integer("50" ), Literal(" " ), Unit("chilometri orari" )]},
],
},
];
runNumberFormattingTestcases(testcases);
if (typeof reportCompare === "function" )
reportCompare(true , true );
Messung V0.5 C=91 H=88 G=89
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland