| Index: test/intl/number-format/check-digit-ranges.js
|
| diff --git a/src/extensions/i18n/number-format.h b/test/intl/number-format/check-digit-ranges.js
|
| similarity index 55%
|
| copy from src/extensions/i18n/number-format.h
|
| copy to test/intl/number-format/check-digit-ranges.js
|
| index d4dbc4d6f3be4f665ab034352c57077772050f18..9505fa23b7736ba4337e1804175093095873d0d1 100644
|
| --- a/src/extensions/i18n/number-format.h
|
| +++ b/test/intl/number-format/check-digit-ranges.js
|
| @@ -26,44 +26,32 @@
|
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| // limitations under the License.
|
|
|
| -#ifndef V8_EXTENSIONS_I18N_NUMBER_FORMAT_H_
|
| -#define V8_EXTENSIONS_I18N_NUMBER_FORMAT_H_
|
| -
|
| -#include "unicode/uversion.h"
|
| -#include "v8.h"
|
| -
|
| -namespace U_ICU_NAMESPACE {
|
| -class DecimalFormat;
|
| -}
|
| -
|
| -namespace v8_i18n {
|
| -
|
| -class NumberFormat {
|
| - public:
|
| - static void JSCreateNumberFormat(
|
| - const v8::FunctionCallbackInfo<v8::Value>& args);
|
| -
|
| - // Helper methods for various bindings.
|
| -
|
| - // Unpacks date format object from corresponding JavaScript object.
|
| - static icu::DecimalFormat* UnpackNumberFormat(v8::Handle<v8::Object> obj);
|
| -
|
| - // Release memory we allocated for the NumberFormat once the JS object that
|
| - // holds the pointer gets garbage collected.
|
| - static void DeleteNumberFormat(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Object>* object,
|
| - void* param);
|
| -
|
| - // Formats number and returns corresponding string.
|
| - static void JSInternalFormat(const v8::FunctionCallbackInfo<v8::Value>& args);
|
| -
|
| - // Parses a string and returns a number.
|
| - static void JSInternalParse(const v8::FunctionCallbackInfo<v8::Value>& args);
|
| -
|
| - private:
|
| - NumberFormat();
|
| -};
|
| -
|
| -} // namespace v8_i18n
|
| -
|
| -#endif // V8_EXTENSIONS_I18N_NUMBER_FORMAT_H_
|
| +// Digit ranges are obeyed.
|
| +
|
| +// Invalid ranges
|
| +assertThrows('Intl.NumberFormat(undefined, {minimumIntegerDigits: 0})');
|
| +assertThrows('Intl.NumberFormat(undefined, {minimumIntegerDigits: 22})');
|
| +assertThrows('Intl.NumberFormat(undefined, {minimumIntegerDigits: null})');
|
| +assertThrows('Intl.NumberFormat(undefined, {minimumIntegerDigits: Infinity})');
|
| +assertThrows('Intl.NumberFormat(undefined, {minimumIntegerDigits: -Infinity})');
|
| +assertThrows('Intl.NumberFormat(undefined, {minimumIntegerDigits: x})');
|
| +
|
| +assertThrows('Intl.NumberFormat(undefined, {minimumFractionDigits: -1})');
|
| +assertThrows('Intl.NumberFormat(undefined, {maximumFractionDigits: 21})');
|
| +
|
| +assertThrows('Intl.NumberFormat(undefined, {minimumSignificantDigits: 0})');
|
| +assertThrows('Intl.NumberFormat(undefined, {maximumSignificantDigits: 22})');
|
| +assertThrows('Intl.NumberFormat(undefined, ' +
|
| + '{minimumSignificantDigits: 5, maximumSignificantDigits: 2})');
|
| +
|
| +// Valid ranges
|
| +assertDoesNotThrow('Intl.NumberFormat(undefined, {minimumIntegerDigits: 1})');
|
| +assertDoesNotThrow('Intl.NumberFormat(undefined, {minimumIntegerDigits: 21})');
|
| +
|
| +assertDoesNotThrow('Intl.NumberFormat(undefined, {minimumFractionDigits: 0})');
|
| +assertDoesNotThrow('Intl.NumberFormat(undefined, {minimumFractionDigits: 20})');
|
| +
|
| +assertDoesNotThrow('Intl.NumberFormat(undefined, ' +
|
| + '{minimumSignificantDigits: 1})');
|
| +assertDoesNotThrow('Intl.NumberFormat(undefined, ' +
|
| + '{maximumSignificantDigits: 21})');
|
|
|