
var Mem = require('../')

var base = Mem()
var a    = base.namespace('A')
var b    = base.namespace('SEQ')
var c    = base.namespace('___')
var _a   = base.namespace('_A')
var i = 0

a.pre(function (ch, add) {
  add({key: i++, value: ch.key}, b)
})

b.pre(function (ch, add) {
  add({key: i++, value: ch.key}, c)
})

a.put('a', Math.random(), function () {
  console.log(base.store)
})

a.put('b', Math.random(), function () {
  console.log(base.store)
})

a.put('c', Math.random(), function () {
  console.log(base.store)
})



@@ -1,31 +1,96 @@
 %0A
-var Mem = require('../
+require('tape')('sublevel', function (t) %7B%0A%0A  require('rimraf').sync('/tmp/test-subdb
 ')%0A%0A
+  
 var 
@@ -100,50 +100,132 @@
 e = 
-Mem()%0Avar a    = base.namespace('A')%0A
+require('levelup')('/tmp/test-sublevel', function () %7B%0A    var Sublevel = require('../')%0A%0A    Sublevel(base, '~')%0A%0A    
 var 
-b
+a
     
@@ -246,19 +246,21 @@
 ce('
-SEQ')%0A
+A')%0A    
 var 
-c
+b
     
@@ -281,63 +281,107 @@
 ce('
-___')%0Avar _a   = base.namespace('_A')%0A
+SEQ')%0A%0A    var i = 0%0A%0A    function all(db, cb) %7B%0A      
 var 
-i = 0%0A%0Aa.pre(
+o = %7B%7D%0A      db.readStream().on('data', 
 func
@@ -390,60 +390,175 @@
 on (
-ch, add
+data
 ) %7B%0A  
-add(%7Bkey: i++, value: ch.key%7D
+      o%5Bdata.key.toString()%5D = data.value.toString()%0A      %7D)%0A      .on('end', function () %7B%0A        cb(null, o)%0A      %7D)%0A      .on('error'
 , 
+c
 b)%0A
-%7D)%0A%0Ab
+    %7D%0A%0A    a
 .pre
@@ -579,16 +579,20 @@
  add) %7B%0A
+    
   add(%7Bk
@@ -617,99 +617,184 @@
 .key
+, type: 'put'
 %7D, 
-c)%0A%7D)%0A%0Aa.put('a', Math.random(), function () %7B%0A  console.log(base.store)%0A%7D)%0A%0A
+b)%0A    %7D)%0A%0A    var n = 3, _a, _b, _c%0A%0A    a.put('a', _a ='AAA_'+Math.random(), next)%0A    a.put('b', _b = 'BBB_'+Math.random(), next)%0A    
 a.put('
-b
+c
 ', 
+_c = 'CCC_'+
 Math
@@ -795,32 +795,43 @@
 '+Math.random(),
+ next)%0A%0A   
  function () %7B%0A 
@@ -828,110 +828,329 @@
 ion 
+next 
 () %7B%0A  
-console.log(base.store)%0A%7D)%0A%0Aa.put('c', Math.random(), function () %7B%0A  console.log(base.store)%0A
+    if(--n) return%0A%0A      all(base, function (err, obj) %7B%0A        console.log(obj)%0A        t.deepEqual(obj, %0A          %7B '~A~a': _a,%0A            '~A~b': _b,%0A            '~A~c': _c,%0A            '~SEQ~0': '~A~a',%0A            '~SEQ~1': '~A~b',%0A            '~SEQ~2': '~A~c' %7D)%0A        t.end()%0A      %7D)%0A    %7D%0A  
 %7D)%0A%0A
+%7D)
 %0A

rewrite test