From 849e76ca230c13e290a1efd99388ebdc779bb4a2 Mon Sep 17 00:00:00 2001 From: Kagami Hiiragi Date: Mon, 23 Feb 2015 20:55:30 +0300 Subject: [PATCH] Bitfield.toString --- lib/structs.js | 10 ++++++++++ tests/unit.js | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/lib/structs.js b/lib/structs.js index 5c240ce..34d2a7e 100644 --- a/lib/structs.js +++ b/lib/structs.js @@ -984,6 +984,16 @@ var Bitfield = function(size) { return this; }; + BitfieldInner.prototype.toString = function() { + var i; + var str = ""; + for (i = 0; i < this.buffer.length; i++) { + // Should be faster than pushing to array and joining on v8. + str += ("0000000" + this.buffer[i].toString(2)).slice(-8); + } + return ""; + }; + return BitfieldInner; }; diff --git a/tests/unit.js b/tests/unit.js index 1acf65e..95ea387 100644 --- a/tests/unit.js +++ b/tests/unit.js @@ -455,6 +455,14 @@ describe("Common structures", function() { expect(ServicesBitfield().set([ServicesBitfield.NODE_NETWORK]).buffer.toString("hex")).to.equal("0000000000000001"); expect(ServicesBitfield().set(ServicesBitfield.NODE_NETWORK).buffer.toString("hex")).to.equal("0000000000000001"); }); + + it("should implement toString", function() { + var services = ServicesBitfield().set([ + ServicesBitfield.NODE_NETWORK, + ServicesBitfield.NODE_GATEWAY, + ]); + expect(services.toString()).to.equal(""); + }); }); describe("pubkey features", function() {