aboutsummaryrefslogtreecommitdiffstats
path: root/filters/wrap_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'filters/wrap_test.go')
-rw-r--r--filters/wrap_test.go212
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)
- }
- })
- }
-}