diff --git a/package.json b/package.json index 2486dc66..0d5d36ae 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,9 @@ "aws-sdk": "~>2.0.0", "request": "~>2.39.0" } +, "devDependencies": { + "mocha": "~>1.9.0" +} , "scripts": { "start": "node init.js", "test": "mocha" diff --git a/test/tests.js b/test/tests.js deleted file mode 100644 index 427f9720..00000000 --- a/test/tests.js +++ /dev/null @@ -1,216 +0,0 @@ -module.exports=require('theory'); -('tests',function(a){ - if(root.node){ - console.log("tests live!"); - var shot = require('../shots')({src: a.com}).pump(function(g, m, done){ - done(); - }); - return shot.spray(function(g, m, done){ - //console.log('>>>>>>>>>> gun'); - var gPrime = {}; - done(gPrime); // allow me to send custom modified filtered version - //console.log(g()); - }); - } - var shot = a.shot(); - describe('Gun',function(){ - var tests = {}; - it('ify & basics',function(){ - console.log("-------> test gun <-------"); - var graph = { - asdf: { - _: {'#': 'asdf'} - ,name: 'Alice' - ,age: 23 - ,knows: {'#': 'zyx' } - } - ,fdsa: { - _: {'#': 'fdsa'} - ,name: 'Bob' - ,age: 22 - ,friends: ['asdf','xyz','zyx'] - } - ,xyz: { - _: {'#': 'xyz'} - ,name: 'Carl' - ,age: 32 - } - ,zyx: { - _: {'#': 'zyx'} - ,name: 'Dave' - ,age: 22 - ,self: {'#': 'zyx'} - ,eye: { - color: 'blue' - } - } - } - var g = tests.social = theory.gun('social', graph); - var e = g({name: 'Evan', age: 19, knows: {'#': 'fdsa'}}); - var f = g({name: 'Fred', age: 20, knows: {'#': 'asdf'}}); - console.log('test graph', g()); - expect(f('knows.age')).to.eql(23); - console.log('---------------------'); - expect(e('knows.friends.age')).to.eql(23); - var ref = {}, val = theory.gun.at(f(),'knows.knows.eye.color',ref); - expect(val).to.eql('blue'); - expect(ref.prop).to.be('color'); - expect(ref.path).to.be('eye.color'); - console.log("ref???", ref); - expect(ref.cartridge._['#']).to.be('zyx'); - expect(ref.at).to.eql({color:'blue'}); - console.log('---------------------'); - var now = theory.time.now(); - f('age',21); - expect(f('age')).to.be(21); - f('age',22,now); - expect(f('age')).to.be(21); - console.log('---------------------'); - f('skin',1); - var now = theory.time.now(); - expect(f('skin')).to.be(1); - f('skin',{color: 'olive', freckles: false, softness: .5}); - expect(f('skin.color')).to.be('olive'); - expect(f('skin.softness')).to.be(.5); - f('skin.freckles',true); - expect(f('skin.freckles')).to.be(true); - f('skin',{oily: true}); - expect(f('skin')).to.eql({color: 'olive', freckles: true, softness: .5, oily: true}); - f('skin',{flaky: false},now); - expect(f('skin')).to.eql({color: 'olive', freckles: true, softness: .5, oily: true, flaky: false}); - f('skin',{color: 'pink', wrinkles: 'none'}, now); - expect(f('skin')).to.eql({color: 'olive', freckles: true, softness: .5, oily: true, flaky: false, wrinkles: 'none'}); - f('skin',{elastic: .7}, now - 100); - expect(f('skin')).to.eql({color: 'olive', freckles: true, softness: .5, oily: true, flaky: false, wrinkles: 'none'}); - f('skin.random',a.num.r(), now - 100); - expect(f('skin')).to.eql({color: 'olive', freckles: true, softness: .5, oily: true, flaky: false, wrinkles: 'none'}); - f('skin.softness',.9, now - 100); - expect(f('skin')).to.eql({color: 'olive', freckles: true, softness: .5, oily: true, flaky: false, wrinkles: 'none'}); - console.log('fred', f()); - return; - expect(f('skin')).to.eql({oily: true}); - f('skin',null,now-5); - f('skin',{wrinkles: false, color: 'pink'},now-1); - expect(f('skin')).to.eql({oily: true}); - console.log(g()); - }); - it('graph merge sync',function(){ - var graph = { - asdf: { - _: {'#': 'asdf'} - ,name: 'Alice' - ,age: 33 - ,knows: {'#': 'zyx' } - } - ,fdsa: { - _: {'#': 'fdsa'} - ,name: 'Bob' - ,age: 32 - ,friends: ['asdf','xyz','zyx'] - } - ,xyz: { - _: {'#': 'xyz', '>':{'age': a.time.now() }} - ,name: 'Carl' - ,age: 42 - } - ,zyx: { - _: {'#': 'zyx'} - ,name: 'Dave' - ,age: 32 - ,self: {'#': 'zyx'} - ,eye: { - color: 'green' - ,sight: 1 - } - } - } - console.log("####################################################"); - var g = tests.socialize = theory.gun('social', graph); - expect(g('xyz.age')).to.eql(42); - expect(g('asdf.age')).to.eql(23); - expect(g('fdsa.age')).to.eql(22); - expect(g('zyx.age')).to.eql(22); - expect(g('zyx.eye.sight')).to.eql(1); - expect(g('zyx.eye.color')).to.eql('blue'); - console.log('socializing', g()); - }); - it('primal object existence',function(){ - // Mars testing; - var graph = { - doc: { - _: {'#': 'doc'} - ,thing: 5 - } - } - var g = theory.gun(graph); - var doc = g('doc'); - expect(doc('thing')).to.eql(5); - // Earth: - var earthNow1 = a.time.now(); - doc('thing',{a: 'yay'}, earthNow1); - expect(doc('thing.a')).to.eql('yay'); - }); - it(' ',function(){ - return; - var g = theory.gun('hi'); - var z = {here:'we',are:'again',name:'z'}; - var y = {to:z,what:'up',name:'y'}; - var x = {from:y,here:'go',name:'x'}; - var n = g.ify(x); - var q = g.at(); - var p = g.ify(q); - console.log(g(), q, p); - expect(q).to.eql(p); - }); - it('tests',function(){ - return; - // run before shotgun, or we'll have mixed problems? - var g = theory.gun(); - var z = g({}); - var y = g({}); - z('name','Zach'); - y('name','Yvan'); - z('list',[y]); - expect(a.list.is(z('list'))).to.be.ok(); - expect(z('list').length).to.be(1); - expect(z('list.name')).to.be('Yvan'); - z('list',[z]); - z('from','USA'); - expect(a.list.is(z('list'))).to.be.ok(); - expect(z('list').length).to.be(2); - expect(z('list.from')).to.be('USA'); - }); - }); - describe('Shot',function(){ return; - it('tests',function(){ - //var s = theory.shot({src: '/test/server.js'}) - var s = shot.load('gunjs.herokuapp.com/tests/package.json',function(g){ - if(!g){ return } - console.log('graph', g()); - var p = g('packageson'); - var val = p('version'); - var ran = p('random'); - if(!a.num.is(val)){ - console.log("Please refresh!!! -- known but unfixed bug encountered"); - return; - } - console.log(val, ran); - val = a.num.is(val)? (val + 1) : 0; - ran = a.text.r(); - console.log(val, 'and total randomness ---->', ran); - p('version',val); - p('random',ran); - a.time.wait(function(){ - shot.load('gunjs.herokuapp.com/tests/package.json',function(gg){ - var pp = gg('packageson'); - console.log('graph prime', gg()); - expect(val).to.be(pp('version')); - console.log(pp('version')); - }); - },1000); - }); - }); - }); - a.time.wait(mocha.run,50); - return shot.spray; -},['../shot']); \ No newline at end of file