github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/unixfs/format_test.go (about)

     1  package unixfs
     2  
     3  import (
     4  	"testing"
     5  
     6  	proto "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/gogo/protobuf/proto"
     7  
     8  	pb "github.com/ipfs/go-ipfs/unixfs/pb"
     9  )
    10  
    11  func TestFSNode(t *testing.T) {
    12  	fsn := new(FSNode)
    13  	fsn.Type = TFile
    14  	for i := 0; i < 15; i++ {
    15  		fsn.AddBlockSize(100)
    16  	}
    17  
    18  	fsn.Data = make([]byte, 128)
    19  
    20  	b, err := fsn.GetBytes()
    21  	if err != nil {
    22  		t.Fatal(err)
    23  	}
    24  
    25  	pbn := new(pb.Data)
    26  	err = proto.Unmarshal(b, pbn)
    27  	if err != nil {
    28  		t.Fatal(err)
    29  	}
    30  
    31  	ds, err := DataSize(b)
    32  	if err != nil {
    33  		t.Fatal(err)
    34  	}
    35  
    36  	if ds != (100*15)+128 {
    37  		t.Fatal("Datasize calculations incorrect!")
    38  	}
    39  }