Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/safe-json-parse/test/index.js b/node_modules/safe-json-parse/test/index.js
new file mode 100644
index 0000000..ffea3a5
--- /dev/null
+++ b/node_modules/safe-json-parse/test/index.js
@@ -0,0 +1,26 @@
+var test = require("tape")
+
+var safeParse = require("../index")
+
+test("safeParse is a function", function (assert) {
+    assert.equal(typeof safeParse, "function")
+    assert.end()
+})
+
+test("safeParse valid json", function (assert) {
+    safeParse("{ \"foo\": true }", function (err, json) {
+        assert.ifError(err)
+        assert.equal(json.foo, true)
+
+        assert.end()
+    })
+})
+
+test("safeParse faulty", function (assert) {
+    safeParse("WRONG", function (err) {
+        assert.ok(err)
+        assert.equal(err.message, "Unexpected token W")
+
+        assert.end()
+    })
+})
diff --git a/node_modules/safe-json-parse/test/static/index.html b/node_modules/safe-json-parse/test/static/index.html
new file mode 100644
index 0000000..60f6ef8
--- /dev/null
+++ b/node_modules/safe-json-parse/test/static/index.html
@@ -0,0 +1,11 @@
+<!doctype html>
+<html>
+<head>
+    <title>TAPE Example</title>
+    <script src="/testem.js"></script>
+    <script src="test-adapter.js"></script>
+    <script src="bundle.js"></script>
+</head>
+<body>
+</body>
+</html>
diff --git a/node_modules/safe-json-parse/test/static/test-adapter.js b/node_modules/safe-json-parse/test/static/test-adapter.js
new file mode 100644
index 0000000..c512792
--- /dev/null
+++ b/node_modules/safe-json-parse/test/static/test-adapter.js
@@ -0,0 +1,49 @@
+(function () {
+    var Testem = window.Testem
+    var regex = /^((?:not )?ok) (\d+) (.+)$/
+
+    Testem.useCustomAdapter(tapAdapter)
+
+    function tapAdapter(socket){
+        var results = {
+            failed: 0
+            , passed: 0
+            , total: 0
+            , tests: []
+        }
+
+        socket.emit('tests-start')
+
+        Testem.handleConsoleMessage = function(msg){
+            var m = msg.match(regex)
+            if (m) {
+                var passed = m[1] === 'ok'
+                var test = {
+                    passed: passed ? 1 : 0,
+                    failed: passed ? 0 : 1,
+                    total: 1,
+                    id: m[2],
+                    name: m[3],
+                    items: []
+                }
+
+                if (passed) {
+                    results.passed++
+                } else {
+                    results.failed++
+                }
+
+                results.total++
+
+                socket.emit('test-result', test)
+                results.tests.push(test)
+            } else if (msg === '# ok' || msg.match(/^# tests \d+/)){
+                socket.emit('all-test-results', results)
+            }
+
+            // return false if you want to prevent the console message from
+            // going to the console
+            // return false
+        }
+    }
+}())