diff options
Diffstat (limited to 'filters/wrap_test.go')
-rw-r--r-- | filters/wrap_test.go | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/filters/wrap_test.go b/filters/wrap_test.go deleted file mode 100644 index f8d82cbe..00000000 --- a/filters/wrap_test.go +++ /dev/null @@ -1,212 +0,0 @@ -package main - -import ( - "bytes" - "errors" - "io" - "testing" -) - -type vector struct { - name string - in string - out string - width int - reflow bool - ratio int -} - -var vectors = []vector{ - { - name: "simple", - in: `long line that exceeds margin by many words -`, - width: 30, - reflow: false, - ratio: 50, - out: `long line that exceeds margin -by many words -`, - }, - { - name: "two-paragraphs", - in: `this is one long paragraph -this is another long one -`, - width: 20, - reflow: false, - ratio: 50, - out: `this is one long -paragraph -this is another -long one -`, - }, - { - name: "reflow", - in: `this is one long paragraph -this is another long one -`, - width: 20, - reflow: true, - ratio: 50, - out: `this is one long -paragraph this is -another long one -`, - }, - { - name: "quotes", - in: `Let's play with quotes: - ->> Hi there how are you doing? -> Great thanks - -How rude. - ->> Fantastic. Let's go wrap some words. -`, - width: 20, - reflow: false, - ratio: 50, - out: `Let's play with -quotes: - ->> Hi there how are ->> you doing? -> Great thanks - -How rude. - ->> Fantastic. Let's ->> go wrap some ->> words. -`, - }, - { - name: "ascii-art", - in: `This is a nice drawing, isn't it? - -+-------------------+ -| foobaz | -+-------------------+ - | - | -+-------------------+ -| foobar | -+-------------------+ -`, - width: 15, - ratio: 50, - reflow: true, - out: `This is a nice -drawing, isn't -it? - -+-------------------+ -| foobaz | -+-------------------+ - | - | -+-------------------+ -| foobar | -+-------------------+ -`, - }, - { - name: "list-items", - in: `Shopping list: - - - milk - - chocolate - - cookies (please, with nuts) -`, - width: 20, - reflow: false, - ratio: 50, - out: `Shopping list: - - - milk - - chocolate - - cookies - (please, with - nuts) -`, - }, - { - name: "list-items-reflow", - in: `Shopping list: - - * milk - * chocolate - * cookies - (please, - with nuts) -`, - width: 100, - reflow: true, - ratio: 30, - out: `Shopping list: - - * milk - * chocolate - * cookies (please, with nuts) -`, - }, - { - name: "long-url", - in: `Please follow this ugly link: -http://foobaz.org/xapapzolmkdmldfk-fldskjflsk-cisjoij/onoes.jsp?xxx=2&yyy=3 -`, - width: 20, - reflow: true, - ratio: 50, - out: `Please follow this -ugly link: -http://foobaz.org/xapapzolmkdmldfk-fldskjflsk-cisjoij/onoes.jsp?xxx=2&yyy=3 -`, - }, - { - name: "format=flowed", - in: "Oh, \nI'm \nso \nhip \nI \nuse \nformat=flowed.\n", - width: 30, - reflow: false, - ratio: 50, - out: "Oh, I'm so hip I use\nformat=flowed.\n", - }, - { - name: "non-ascii", - in: `Lorem ççççç ççççç ççç ççççç çç ççç ççççç çççççççç ççç çç ççççç ççççççççççç ççççç - -Lorem жжжжж жжжжж жжж жжжжж жж жжж жжжжж жжжжжжжж жжж жж жжжжж жжжжжжжжжжж жжжжж жжжжжжжж -`, - width: 40, - reflow: false, - ratio: 50, - out: `Lorem ççççç ççççç ççç ççççç çç ççç -ççççç çççççççç ççç çç ççççç ççççççççççç -ççççç - -Lorem жжжжж жжжжж жжж жжжжж жж жжж -жжжжж жжжжжжжж жжж жж жжжжж жжжжжжжжжжж -жжжжж жжжжжжжж -`, - }, -} - -func TestWrap(t *testing.T) { - for _, vec := range vectors { - t.Run(vec.name, func(t *testing.T) { - r := bytes.NewReader([]byte(vec.in)) - var buf bytes.Buffer - err := wrap(r, &buf, vec.width, vec.reflow, vec.ratio) - if err != nil && !errors.Is(err, io.EOF) { - t.Fatalf("[%s]: %v", vec.name, err) - } - if buf.String() != vec.out { - t.Errorf("[%s] invalid format:\n%q\nexpected\n%q", - vec.name, buf.String(), vec.out) - } - }) - } -} |