Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/unbox-primitive/test/index.js b/node_modules/unbox-primitive/test/index.js
new file mode 100644
index 0000000..73688ac
--- /dev/null
+++ b/node_modules/unbox-primitive/test/index.js
@@ -0,0 +1,59 @@
+'use strict';
+
+var test = require('tape');
+var inspect = require('object-inspect');
+var is = require('object-is');
+var forEach = require('for-each');
+var hasSymbols = require('has-symbols')();
+var hasBigInts = require('has-bigints')();
+
+var unboxPrimitive = require('..');
+
+var debug = function (v, m) { return inspect(v) + ' ' + m; };
+
+test('primitives', function (t) {
+	var primitives = [
+		true,
+		false,
+		'',
+		'foo',
+		42,
+		NaN,
+		Infinity,
+		0
+	];
+	if (hasSymbols) {
+		primitives.push(Symbol(), Symbol.iterator, Symbol('f'));
+	}
+	if (hasBigInts) {
+		primitives.push(BigInt(42), BigInt(0));
+	}
+	forEach(primitives, function (primitive) {
+		var obj = Object(primitive);
+		t.ok(
+			is(unboxPrimitive(obj), primitive),
+			debug(obj, 'unboxes to ' + inspect(primitive))
+		);
+	});
+
+	t.end();
+});
+
+test('objects', function (t) {
+	var objects = [
+		{},
+		[],
+		function () {},
+		/a/g,
+		new Date()
+	];
+	forEach(objects, function (object) {
+		t['throws'](
+			function () { unboxPrimitive(object); },
+			TypeError,
+			debug(object, 'is not a primitive')
+		);
+	});
+
+	t.end();
+});