diff --git a/test/built-ins/BigInt/prototype/Symbol.toStringTag.js b/test/built-ins/BigInt/prototype/Symbol.toStringTag.js
new file mode 100644
index 0000000000000000000000000000000000000000..7700bc4fd5dc3da839fe50c04b6969eb2210700d
--- /dev/null
+++ b/test/built-ins/BigInt/prototype/Symbol.toStringTag.js
@@ -0,0 +1,37 @@
+// Copyright (C) 2017 Igalia, S. L. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-bigint-@@tostringtag
+description: >
+    `Symbol.toStringTag` property descriptor
+info: >
+    The initial value of the @@toStringTag property is the String value
+    "BigInt".
+
+    This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+    false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+features: [Symbol.toStringTag, BigInt, Symbol]
+---*/
+
+verifyProperty(BigInt.prototype, Symbol.toStringTag, {
+  value: "BigInt",
+  writable: false,
+  enumerable: false,
+  configurable: true
+});
+
+assertEquals("[object BigInt]", Object.prototype.toString.call(3n));
+assertEquals("[object BigInt]", Object.prototype.toString.call(Object(3n)));
+
+// Verify that Object.prototype.toString does not have special casing for BigInt
+// as it does for most other primitive types
+Object.defineProperty(BigInt.prototype, {
+  value: "FooBar",
+  writable: false,
+  enumerable: false,
+  configurable: true
+});
+
+assertEquals("[object FooBar]", Object.prototype.toString.call(3n));
+assertEquals("[object FooBar]", Object.prototype.toString.call(Object(3n)));