package main

import (
	"fmt"
	"testing"
)

func TestLoggerWriteFullLine(t *testing.T) {
	l := NewLogger("foo")
	fmt.Fprintf(l, "hi\n")
	c, err := l.Contents()
	if err != nil {
		t.Fatal(err)
	}
	if c != "hi\n" {
		t.Fatal(c)
	}
}

func TestLoggerWritePartialLine(t *testing.T) {
	l := NewLogger("foo")
	fmt.Fprintf(l, "hi\nfoo")
	c, err := l.Contents()
	if err != nil {
		t.Fatal(err)
	}
	if c != "hi\n" {
		t.Fatal(c)
	}
	fmt.Fprintf(l, "bar\n")
	c, err = l.Contents()
	if err != nil {
		t.Fatal(err)
	}
	if c != "hi\nfoobar\n" {
		t.Fatal(c)
	}
}
