1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /*
- 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)
- }
- }
|