mirror of
https://github.com/nxshock/logwriter.git
synced 2025-07-01 00:13:41 +05:00
160 lines
2.7 KiB
Go
160 lines
2.7 KiB
Go
package logwriter
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
)
|
|
|
|
func TestBasicPrint(t *testing.T) {
|
|
buf := new(bytes.Buffer)
|
|
|
|
lw := New(buf)
|
|
lw.TimeFormat = "-"
|
|
|
|
n, err := lw.Print("text")
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
if n != 6 {
|
|
t.Errorf("expected 6, got %d", n)
|
|
}
|
|
if lw.newLine {
|
|
t.Error("newLine must be false")
|
|
}
|
|
}
|
|
|
|
func TestBasicPrintln(t *testing.T) {
|
|
buf := new(bytes.Buffer)
|
|
|
|
lw := New(buf)
|
|
lw.TimeFormat = "-"
|
|
|
|
n, err := lw.Println("text")
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
if n != 7 {
|
|
t.Errorf("expected 7, got %d", n)
|
|
}
|
|
if !lw.newLine {
|
|
t.Error("newLine must be true")
|
|
}
|
|
}
|
|
|
|
func TestBasicPrintf(t *testing.T) {
|
|
buf := new(bytes.Buffer)
|
|
|
|
lw := New(buf)
|
|
lw.TimeFormat = "-"
|
|
|
|
n, err := lw.Printf("%s %d", "string", 1)
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
if n != 10 {
|
|
t.Errorf("expected 10, got %d", n)
|
|
}
|
|
if lw.newLine {
|
|
t.Error("newLine must be false")
|
|
}
|
|
}
|
|
|
|
func TestWriteWithEndLine(t *testing.T) {
|
|
buf := new(bytes.Buffer)
|
|
|
|
lw := New(buf)
|
|
lw.TimeFormat = "-"
|
|
|
|
n, err := lw.Write([]byte("text\n"))
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
if n != 7 {
|
|
t.Errorf("expected 7, got %d", n)
|
|
}
|
|
if !lw.newLine {
|
|
t.Error("newLine must be true")
|
|
}
|
|
}
|
|
|
|
func TestWriteWithoutEndLine(t *testing.T) {
|
|
buf := new(bytes.Buffer)
|
|
|
|
lw := New(buf)
|
|
lw.TimeFormat = "-"
|
|
|
|
n, err := lw.Write([]byte("text"))
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
if n != 6 {
|
|
t.Errorf("expected 6, got %d", n)
|
|
}
|
|
if lw.newLine {
|
|
t.Error("newLine must be false")
|
|
}
|
|
}
|
|
|
|
func TestClose(t *testing.T) {
|
|
buf := new(bytes.Buffer)
|
|
|
|
lw := New(buf)
|
|
lw.TimeFormat = "-"
|
|
|
|
_, err := lw.Write([]byte("text"))
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
|
|
err = lw.Close()
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
|
|
if !lw.newLine {
|
|
t.Error("newLine must be true")
|
|
}
|
|
|
|
if buf.String() != "- text\n" {
|
|
t.Errorf(`expected "- text\n", got "%s"`, buf.String())
|
|
}
|
|
}
|
|
|
|
func TestWriteMultipleLines(t *testing.T) {
|
|
buf := new(bytes.Buffer)
|
|
|
|
lw := New(buf)
|
|
lw.TimeFormat = "-"
|
|
|
|
n, err := lw.Write([]byte("line1\nline2\nline3"))
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
if n != 23 {
|
|
t.Errorf("expected 23, got %d", n)
|
|
}
|
|
if lw.newLine {
|
|
t.Error("newLine must be false")
|
|
}
|
|
}
|
|
|
|
func TestPrintMultipleLines(t *testing.T) {
|
|
buf := new(bytes.Buffer)
|
|
|
|
lw := New(buf)
|
|
lw.TimeFormat = "-"
|
|
|
|
n, err := lw.Print("line1\nline2\nline3")
|
|
if err != nil {
|
|
t.Errorf("unexpected error: %v", err)
|
|
}
|
|
if n != 23 {
|
|
t.Errorf("expected 23, got %d", n)
|
|
}
|
|
if lw.newLine {
|
|
t.Error("newLine must be false")
|
|
}
|
|
if buf.String() != "- line1\n- line2\n- line3" {
|
|
t.Errorf("wrong output:\n%s", buf.String())
|
|
}
|
|
}
|