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})'); |