var TypesMod = require("./Types.js");
var Type = TypesMod.Type;
var string = TypesMod.string;
var bool = TypesMod.bool;
var any = TypesMod.any;
if(require.main === module)
{
var RsNodeHttpConnection = require("./RsNodeHttpConnection.js");
debugger;
var connection = new RsNodeHttpConnection();
var RsApi = require("./RsApi.js");
var RS = new RsApi(connection);
var tests = [];
var doc = {
counter: 0,
toc: [],
content: [],
header: function(h){
this.toc.push(h);
this.content.push(""+h+"
");
this.counter += 1;
},
paragraph: function(p){
this.content.push("
"+p+"
"); }, }; PeersTest(tests, doc); var docstr = ""; docstr += ""+graphToText(peers_list)+""); tests.push(function(RS){ console.log("testing peers module..."); console.log("expected schema is:") console.log(graphToText(peers_list)); RS.request({path: "peers"}, function(resp){ //console.log("got response:"+JSON.stringify(resp)); var ok = peers_list.check(function(str){console.log(str);}, resp.data, []) if(ok) console.log("success"); else console.log("fail"); }); }); function graphToText(top_node) { //var dbg = function(str){console.log(str);}; var dbg = function(str){}; dbg("called graphToText with " + top_node); var res = ""; _visit(top_node.getObj(), 0); return res; function _indent(count) { var str = ""; for(var i = 0; i < count; i++) { str = str + " "; } return str; } function _visit(node, indent) { dbg("_visit"); if(node instanceof Array) { dbg("is instanceof Array"); //res = res + "["; res = res + "array\n"; _visit(node[0], indent); //res = res + _indent(indent) + "]\n"; } else if(node instanceof Type && node.isLeaf()) { dbg("is instanceof Type"); res = res + node.getName() + "\n"; } else // Object, have to check all children { dbg("is Object"); //res = res + "{\n"; for(m in node.getObj()) { res = res + _indent(indent+1) + m + ": "; _visit(node.getObj()[m], indent+1); } //res = res + _indent(indent) + "}\n"; } } } }