commit 0e3390899d3059c892b8ceec408771701c8918b9
parent 886a4dd92a10e2af925a470910439b39a5c03fbe
Author: finwo <finwo@pm.me>
Date: Mon, 17 Feb 2020 23:46:50 +0100
Recover basic unit tests
Diffstat:
3 files changed, 77 insertions(+), 36 deletions(-)
diff --git a/package-lock.json b/package-lock.json
@@ -405,6 +405,12 @@
"integrity": "sha1-N3gzsEteppP/DVMzgOPdoMA4G+A=",
"optional": true
},
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
+ "dev": true
+ },
"is-callable": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
@@ -1044,6 +1050,40 @@
"through": "~2.3.4"
}
},
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
"rpc-stream": {
"version": "2.1.2",
"resolved": "http://registry.npmjs.org/rpc-stream/-/rpc-stream-2.1.2.tgz",
diff --git a/package.json b/package.json
@@ -16,6 +16,8 @@
"license": "BSD2",
"devDependencies": {
"esm": "^3.2.25",
+ "is-buffer": "^2.0.4",
+ "rimraf": "^3.0.2",
"tape": "^4.11.0"
},
"dependencies": {
diff --git a/src/index.test.js b/src/index.test.js
@@ -1,18 +1,17 @@
-//import expect from 'expect';
-//import rimraf from 'rimraf';
-//import absolutePath from './to-absolute-path';
+import test from 'tape';
+import isBuffer from 'is-buffer';
-//// Setup environment
-//if ('object' !== typeof process) process = {};
-//if (!process.env) process.env = {};
-//process.env.TEST = true;
-//let noop = ()=>{};
+import rimraf from 'rimraf';
+import absolutePath from './to-absolute-path';
-//// Load extends
-//expect.extend(require('jest-isa'));
+// Setup environment
+if ('object' !== typeof process) process = {};
+if (!process.env) process.env = {};
+process.env.TEST = true;
+const noop = ()=>{};
-//// Load our module
-//let autolevel = require('./index');
+// Load our module
+const autolevel = require('./index');
//// // Initialize references
//// let kv,
@@ -29,32 +28,32 @@
//// kv = await (require('./kv')('mem://'));
//// });
-//test('Ensure autolevel loads', async () => {
-// expect(autolevel).toBeDefined(); // Basics
-// expect(autolevel).isA(Function);
-// let instance = autolevel();
-// expect(instance).isA(Object);
-//});
+test('Ensure autolevel loads', async t => {
+ t.plan(2);
-//test('Verify memory adapter', async () => {
-// expect(autolevel).toBeDefined(); // Basics
-// expect(autolevel).isA(Function);
-// let instance = autolevel('mem://');
-// expect(await instance.put('key', 'value')).toBeUndefined();
-// expect(await instance.get('key')).isA(Buffer);
-// expect(await instance.get('key', {asBuffer: false})).toBe('value');
-//});
+ t.equal(typeof autolevel , 'function', 'Exported module should be a function');
+ t.equal(typeof autolevel(), 'object' , 'Running exported function returns an object');
+});
-//test('Verify plain adapter', async () => {
-// expect(autolevel).toBeDefined(); // Basics
-// expect(autolevel).isA(Function);
-// let instance = autolevel('dir://data/');
-// expect(await instance.put('key', 'value')).toBeUndefined();
-// expect(await instance.get('key')).isA(Buffer);
-// expect(await instance.get('key', {asBuffer: false})).toBe('value');
-// expect(await instance.close()).toBeUndefined();
-// rimraf(absolutePath('dir://data'), noop);
-//});
+test('Verify memory adapter', async t => {
+ t.plan(3);
+
+ const instance = autolevel('mem://');
+ t.equal(await instance.put('key', 'value') , undefined, 'put returns nothing');
+ t.equal(isBuffer(await instance.get('key')), true , 'get returns a buffer');
+ t.equal(await instance.get('key', {asBuffer:false}) , 'value' , 'get returns original value');
+});
+
+test('Verify plain adapter', async t => {
+ t.plan(4);
+
+ const instance = autolevel('dir://data/');
+ t.equal(await instance.put('key', 'value') , undefined, 'put returns nothing');
+ t.equal(isBuffer(await instance.get('key')), true , 'get returns a buffer');
+ t.equal(await instance.get('key', {asBuffer:false}) , 'value' , 'get returns original value');
+ t.equal(await instance.close(), undefined, 'close returns undefined');
+ rimraf(absolutePath('dir://data'), noop);
+});
///* TODO:
// * mssql