initial commits
parent
ed553874c4
commit
f8e5f3fd28
|
@ -0,0 +1,36 @@
|
||||||
|
package raft
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io"
|
||||||
|
|
||||||
|
"sourcecode.social/reiver/go-erorr"
|
||||||
|
)
|
||||||
|
|
||||||
|
// writeHeader writes the header of a RAFT file.
|
||||||
|
//
|
||||||
|
// It writes:
|
||||||
|
//
|
||||||
|
// "RAFT/1\n\n"
|
||||||
|
//
|
||||||
|
// Technically, the 2nd "\n" isn't necessary.
|
||||||
|
// Technically, this is all that is necessary is "RAFT/1\n"
|
||||||
|
//
|
||||||
|
// The 2nd "\n" is added to make the resulting RAFT file easier to read (if a person was to look at it and try to read it).
|
||||||
|
func writeHeader(writer io.Writer) error {
|
||||||
|
|
||||||
|
if nil == writer {
|
||||||
|
return errNilWriter
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
var header string = "RAFT/1" + eoleol
|
||||||
|
|
||||||
|
err := writeString(writer, header)
|
||||||
|
if nil != err {
|
||||||
|
return erorr.Errorf("raft: problem writing first 2 lines of raft file — %q: %w", header, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
package raft
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestWriteHeader(t *testing.T) {
|
||||||
|
|
||||||
|
var expected string = "RAFT/1\n\n"
|
||||||
|
|
||||||
|
var actual string
|
||||||
|
{
|
||||||
|
var buffer strings.Builder
|
||||||
|
|
||||||
|
|
||||||
|
err := writeHeader(&buffer)
|
||||||
|
if nil != err {
|
||||||
|
t.Errorf("Did not expect an error but actually got one.")
|
||||||
|
t.Logf("ERROR: %q", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
actual = buffer.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
if expected != actual {
|
||||||
|
t.Errorf("The actual written value is not what was expected.")
|
||||||
|
t.Logf("EXPECTED: %q", expected)
|
||||||
|
t.Logf("ACTUAL: %q", actual)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue