mirror of https://github.com/k3s-io/k3s
92 lines
3.1 KiB
Go
92 lines
3.1 KiB
Go
![]() |
/*
|
||
|
Copyright 2017 The Kubernetes Authors.
|
||
|
|
||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
you may not use this file except in compliance with the License.
|
||
|
You may obtain a copy of the License at
|
||
|
|
||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
||
|
Unless required by applicable law or agreed to in writing, software
|
||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
See the License for the specific language governing permissions and
|
||
|
limitations under the License.
|
||
|
*/
|
||
|
|
||
|
package explain
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestFormatterWrite(t *testing.T) {
|
||
|
buf := bytes.Buffer{}
|
||
|
f := Formatter{
|
||
|
Writer: &buf,
|
||
|
}
|
||
|
|
||
|
f.Write("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
|
||
|
// Indent creates a new Formatter
|
||
|
f.Indent(5).Write("Morbi at turpis faucibus, gravida dolor ut, fringilla velit.")
|
||
|
// So Indent(2) doesn't indent to 7 here.
|
||
|
f.Indent(2).Write("Etiam maximus urna at tellus faucibus mattis.")
|
||
|
|
||
|
want := `Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||
|
Morbi at turpis faucibus, gravida dolor ut, fringilla velit.
|
||
|
Etiam maximus urna at tellus faucibus mattis.
|
||
|
`
|
||
|
|
||
|
if buf.String() != want {
|
||
|
t.Errorf("Got:\n%v\nWant:\n%v\n", buf.String(), want)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestFormatterWrappedWrite(t *testing.T) {
|
||
|
buf := bytes.Buffer{}
|
||
|
f := Formatter{
|
||
|
Writer: &buf,
|
||
|
Wrap: 50,
|
||
|
}
|
||
|
|
||
|
f.WriteWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at turpis faucibus, gravida dolor ut, fringilla velit.")
|
||
|
f.Indent(10).WriteWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at turpis faucibus, gravida dolor ut, fringilla velit.")
|
||
|
// Test long words (especially urls) on their own line.
|
||
|
f.Indent(20).WriteWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit. ThisIsAVeryLongWordThatDoesn'tFitOnALineOnItsOwn. Morbi at turpis faucibus, gravida dolor ut, fringilla velit.")
|
||
|
|
||
|
want := `Lorem ipsum dolor sit amet, consectetur adipiscing
|
||
|
elit. Morbi at turpis faucibus, gravida dolor ut,
|
||
|
fringilla velit.
|
||
|
Lorem ipsum dolor sit amet, consectetur
|
||
|
adipiscing elit. Morbi at turpis
|
||
|
faucibus, gravida dolor ut, fringilla
|
||
|
velit.
|
||
|
Lorem ipsum dolor sit amet,
|
||
|
consectetur adipiscing elit.
|
||
|
ThisIsAVeryLongWordThatDoesn'tFitOnALineOnItsOwn.
|
||
|
Morbi at turpis faucibus,
|
||
|
gravida dolor ut, fringilla
|
||
|
velit.
|
||
|
`
|
||
|
|
||
|
if buf.String() != want {
|
||
|
t.Errorf("Got:\n%v\nWant:\n%v\n", buf.String(), want)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestDefaultWrap(t *testing.T) {
|
||
|
buf := bytes.Buffer{}
|
||
|
f := Formatter{
|
||
|
Writer: &buf,
|
||
|
// Wrap is not set
|
||
|
}
|
||
|
|
||
|
f.WriteWrapped("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at turpis faucibus, gravida dolor ut, fringilla velit. Etiam maximus urna at tellus faucibus mattis.")
|
||
|
want := `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at turpis faucibus, gravida dolor ut, fringilla velit. Etiam maximus urna at tellus faucibus mattis.
|
||
|
`
|
||
|
if buf.String() != want {
|
||
|
t.Errorf("Got:\n%v\nWant:\n%v\n", buf.String(), want)
|
||
|
}
|
||
|
}
|