diff --git a/test/intl402/NumberFormat/dft-currency-mnfd-range-check-mxfd.js b/test/intl402/NumberFormat/dft-currency-mnfd-range-check-mxfd.js
new file mode 100644
index 0000000000000000000000000000000000000000..6cefcb96d21d2c25a3cf78974fd34f16d9c71c21
--- /dev/null
+++ b/test/intl402/NumberFormat/dft-currency-mnfd-range-check-mxfd.js
@@ -0,0 +1,21 @@
+// Copyright 2017 the V8 project authors. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+esid: sec-setnfdigitoptions
+description: >
+    When a currency is used in Intl.NumberFormat and minimumFractionDigits is
+    not provided, maximumFractionDigits should be range-checked against it.
+---*/
+
+assert.throws(RangeError, () => new Intl.NumberFormat('en', {
+    style: 'currency',
+    currency: 'USD',
+    maximumFractionDigits: 1
+}), 'CurrencyDigits(USD) == 1');
+
+assert.throws(RangeError, () => new Intl.NumberFormat('en', {
+    style: 'currency',
+    currency: 'CLF',
+    maximumFractionDigits: 4
+}), 'CurrencyDigits(CLF) == 4');
diff --git a/test/intl402/NumberFormat/fraction-digit-options-read-once.js b/test/intl402/NumberFormat/fraction-digit-options-read-once.js
new file mode 100644
index 0000000000000000000000000000000000000000..e83d25c7a386834c40e6c492338ffd722362bc32
--- /dev/null
+++ b/test/intl402/NumberFormat/fraction-digit-options-read-once.js
@@ -0,0 +1,18 @@
+// Copyright 2017 the V8 project authors. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+esid: sec-setnfdigitoptions
+description: >
+    The maximum and minimum fraction digits properties should be read from
+    the options bag exactly once from the NumberFormat constructor.
+info: Regression test for https://bugs.chromium.org/p/v8/issues/detail?id=6015
+---*/
+
+var calls = [];
+
+new Intl.NumberFormat("en", { get minimumFractionDigits() { calls.push('minimumFractionDigits') },
+                              get maximumFractionDigits() { calls.push('maximumFractionDigits') } });
+assert.sameValue(calls.length, 2);
+assert.sameValue(calls[0], 'minimumFractionDigits');
+assert.sameValue(calls[1], 'maximumFractionDigits');