1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/tests/test262/intl402/ch11/11.1/11.1.1_20_c.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,196 @@ 1.4 +// Copyright 2011-2012 Norbert Lindenberg. All rights reserved. 1.5 +// Copyright 2012 Mozilla Corporation. All rights reserved. 1.6 +// This code is governed by the BSD license found in the LICENSE file. 1.7 + 1.8 +/** 1.9 + * @description Tests that the number of fractional digits is determined correctly for currencies. 1.10 + * @author Norbert Lindenberg 1.11 + */ 1.12 + 1.13 +// data from http://www.currency-iso.org/dl_iso_table_a1.xml, 2013-02-25 1.14 +var currencyDigits = { 1.15 + AED: 2, 1.16 + AFN: 2, 1.17 + ALL: 2, 1.18 + AMD: 2, 1.19 + ANG: 2, 1.20 + AOA: 2, 1.21 + ARS: 2, 1.22 + AUD: 2, 1.23 + AWG: 2, 1.24 + AZN: 2, 1.25 + BAM: 2, 1.26 + BBD: 2, 1.27 + BDT: 2, 1.28 + BGN: 2, 1.29 + BHD: 3, 1.30 + BIF: 0, 1.31 + BMD: 2, 1.32 + BND: 2, 1.33 + BOB: 2, 1.34 + BOV: 2, 1.35 + BRL: 2, 1.36 + BSD: 2, 1.37 + BTN: 2, 1.38 + BWP: 2, 1.39 + BYR: 0, 1.40 + BZD: 2, 1.41 + CAD: 2, 1.42 + CDF: 2, 1.43 + CHE: 2, 1.44 + CHF: 2, 1.45 + CHW: 2, 1.46 + CLF: 0, 1.47 + CLP: 0, 1.48 + CNY: 2, 1.49 + COP: 2, 1.50 + COU: 2, 1.51 + CRC: 2, 1.52 + CUC: 2, 1.53 + CUP: 2, 1.54 + CVE: 2, 1.55 + CZK: 2, 1.56 + DJF: 0, 1.57 + DKK: 2, 1.58 + DOP: 2, 1.59 + DZD: 2, 1.60 + EGP: 2, 1.61 + ERN: 2, 1.62 + ETB: 2, 1.63 + EUR: 2, 1.64 + FJD: 2, 1.65 + FKP: 2, 1.66 + GBP: 2, 1.67 + GEL: 2, 1.68 + GHS: 2, 1.69 + GIP: 2, 1.70 + GMD: 2, 1.71 + GNF: 0, 1.72 + GTQ: 2, 1.73 + GYD: 2, 1.74 + HKD: 2, 1.75 + HNL: 2, 1.76 + HRK: 2, 1.77 + HTG: 2, 1.78 + HUF: 2, 1.79 + IDR: 2, 1.80 + ILS: 2, 1.81 + INR: 2, 1.82 + IQD: 3, 1.83 + IRR: 2, 1.84 + ISK: 0, 1.85 + JMD: 2, 1.86 + JOD: 3, 1.87 + JPY: 0, 1.88 + KES: 2, 1.89 + KGS: 2, 1.90 + KHR: 2, 1.91 + KMF: 0, 1.92 + KPW: 2, 1.93 + KRW: 0, 1.94 + KWD: 3, 1.95 + KYD: 2, 1.96 + KZT: 2, 1.97 + LAK: 2, 1.98 + LBP: 2, 1.99 + LKR: 2, 1.100 + LRD: 2, 1.101 + LSL: 2, 1.102 + LTL: 2, 1.103 + LVL: 2, 1.104 + LYD: 3, 1.105 + MAD: 2, 1.106 + MDL: 2, 1.107 + MGA: 2, 1.108 + MKD: 2, 1.109 + MMK: 2, 1.110 + MNT: 2, 1.111 + MOP: 2, 1.112 + MRO: 2, 1.113 + MUR: 2, 1.114 + MVR: 2, 1.115 + MWK: 2, 1.116 + MXN: 2, 1.117 + MXV: 2, 1.118 + MYR: 2, 1.119 + MZN: 2, 1.120 + NAD: 2, 1.121 + NGN: 2, 1.122 + NIO: 2, 1.123 + NOK: 2, 1.124 + NPR: 2, 1.125 + NZD: 2, 1.126 + OMR: 3, 1.127 + PAB: 2, 1.128 + PEN: 2, 1.129 + PGK: 2, 1.130 + PHP: 2, 1.131 + PKR: 2, 1.132 + PLN: 2, 1.133 + PYG: 0, 1.134 + QAR: 2, 1.135 + RON: 2, 1.136 + RSD: 2, 1.137 + RUB: 2, 1.138 + RWF: 0, 1.139 + SAR: 2, 1.140 + SBD: 2, 1.141 + SCR: 2, 1.142 + SDG: 2, 1.143 + SEK: 2, 1.144 + SGD: 2, 1.145 + SHP: 2, 1.146 + SLL: 2, 1.147 + SOS: 2, 1.148 + SRD: 2, 1.149 + SSP: 2, 1.150 + STD: 2, 1.151 + SVC: 2, 1.152 + SYP: 2, 1.153 + SZL: 2, 1.154 + THB: 2, 1.155 + TJS: 2, 1.156 + TMT: 2, 1.157 + TND: 3, 1.158 + TOP: 2, 1.159 + TRY: 2, 1.160 + TTD: 2, 1.161 + TWD: 2, 1.162 + TZS: 2, 1.163 + UAH: 2, 1.164 + UGX: 0, 1.165 + USD: 2, 1.166 + USN: 2, 1.167 + USS: 2, 1.168 + UYI: 0, 1.169 + UYU: 2, 1.170 + UZS: 2, 1.171 + VEF: 2, 1.172 + VND: 0, 1.173 + VUV: 0, 1.174 + WST: 2, 1.175 + XAF: 0, 1.176 + XCD: 2, 1.177 + XOF: 0, 1.178 + XPF: 0, 1.179 + YER: 2, 1.180 + ZAR: 2, 1.181 + ZMW: 2, 1.182 + ZWL: 2 1.183 +}; 1.184 + 1.185 +Object.getOwnPropertyNames(currencyDigits).forEach(function (currency) { 1.186 + var digits = currencyDigits[currency]; 1.187 + format = Intl.NumberFormat([], {style: "currency", currency: currency}); 1.188 + var min = format.resolvedOptions().minimumFractionDigits; 1.189 + var max = format.resolvedOptions().maximumFractionDigits; 1.190 + if (min !== digits) { 1.191 + $ERROR("Didn't get correct minimumFractionDigits for currency " + 1.192 + currency + "; expected " + digits + ", got " + min + "."); 1.193 + } 1.194 + if (max !== digits) { 1.195 + $ERROR("Didn't get correct maximumFractionDigits for currency " + 1.196 + currency + "; expected " + digits + ", got " + max + "."); 1.197 + } 1.198 +}); 1.199 +