You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
701 B
32 lines
701 B
// Copyright (c) Tailscale Inc & contributors
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
package lineiter
|
|
|
|
import (
|
|
"slices"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestBytesLines(t *testing.T) {
|
|
var got []string
|
|
for line := range Bytes([]byte("foo\n\nbar\nbaz")) {
|
|
got = append(got, string(line))
|
|
}
|
|
want := []string{"foo", "", "bar", "baz"}
|
|
if !slices.Equal(got, want) {
|
|
t.Errorf("got %q; want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestReader(t *testing.T) {
|
|
var got []string
|
|
for line := range Reader(strings.NewReader("foo\n\nbar\nbaz")) {
|
|
got = append(got, string(line.MustValue()))
|
|
}
|
|
want := []string{"foo", "", "bar", "baz"}
|
|
if !slices.Equal(got, want) {
|
|
t.Errorf("got %q; want %q", got, want)
|
|
}
|
|
}
|
|
|