// Copyright 2020 The Gitea Authors. All rights reserved. // Copyright 2020 The nektos/act Authors. All rights reserved. // SPDX-License-Identifier: MIT package common import ( "testing" "github.com/stretchr/testify/assert" ) func TestLineWriter(t *testing.T) { lines := make([]string, 0) lineHandler := func(s string) bool { lines = append(lines, s) return true } lineWriter := NewLineWriter(lineHandler) assert := assert.New(t) write := func(s string) { n, err := lineWriter.Write([]byte(s)) assert.NoError(err) //nolint:testifylint // pre-existing issue from nektos/act assert.Equal(len(s), n, s) } write("hello") write(" ") write("world!!\nextra") write(" line\n and another\nlast") write(" line\n") write("no newline here...") assert.Len(lines, 4) assert.Equal("hello world!!\n", lines[0]) assert.Equal("extra line\n", lines[1]) assert.Equal(" and another\n", lines[2]) assert.Equal("last line\n", lines[3]) }