From 86bbe805a7ec49a8b891412713ea43d6e46d0d73 Mon Sep 17 00:00:00 2001 From: s-ol Date: Wed, 9 Oct 2019 13:06:44 +0200 Subject: add lfs driver, spec --- spec/driver_spec.moon | 45 +++++++++++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 12 deletions(-) (limited to 'spec') diff --git a/spec/driver_spec.moon b/spec/driver_spec.moon index 379dcac..918f620 100644 --- a/spec/driver_spec.moon +++ b/spec/driver_spec.moon @@ -1,17 +1,17 @@ -import SQLStore from require 'mmm.mmmfs.drivers.sql' - sort2 = (a, b) -> {ax, ay}, {bx, by} = a, b "#{ax}//#{ay}" < "#{bx}//#{by}" -toseq = (iter) -> with v = [x for x in iter] - table.sort v -toseq2 = (iter) -> with v = [{x, y} for x, y in iter] - table.sort v, sort2 -describe "sql driver", -> - randomize false +toseq = (iter) -> + with v = [x for x in iter] + table.sort v + +toseq2 = (iter) -> + with v = [{x, y} for x, y in iter] + table.sort v, sort2 - ts = SQLStore memory: true +test_driver = (ts) -> + randomize false it "starts out empty", -> assert.are.same {}, toseq ts\list_fileders_in! @@ -44,13 +44,13 @@ describe "sql driver", -> ts\create_facet '/hello/world', 'name', 'alpha', 'world' ts\create_facet '/hello/world', '', 'text/markdown', '# Helau World!' - it "can't create facet for nonexistant fileders", -> + it "but can't create facet for nonexistant fileders", -> assert.has_error -> ts\create_facet '/hello/orldw', 'name', 'alpha', 'foo' - it "can't create facet without value", -> + it "but can't create facet without value", -> assert.has_error -> ts\create_facet '/hello/world', 'other', 'alpha', nil - it "can't create facet for duplicate keys", -> + it "but can't create facet for duplicate keys", -> assert.has_error -> ts\create_facet '/hello/world', 'name', 'alpha', 'foo' assert.are.same {{'name', 'alpha'}}, toseq2 ts\list_facets '/hello' @@ -88,3 +88,24 @@ describe "sql driver", -> ts\remove_fileder '/hello' assert.are.same {}, toseq ts\list_all_fileders! + +describe "SQL driver", -> + import SQLStore from require 'mmm.mmmfs.drivers.sql' + + test_driver SQLStore memory: true + +describe "LFS driver", -> + import LFSStore from require 'mmm.mmmfs.drivers.lfs' + + lfs = require 'lfs' + + root = os.tmpname! + + setup -> + assert os.remove root + assert lfs.mkdir root + + test_driver LFSStore :root + + teardown -> + assert lfs.rmdir root -- cgit v1.2.3