diff options
| author | tjpcc <tjp@ctrl-c.club> | 2023-08-31 20:16:16 -0600 | 
|---|---|---|
| committer | tjpcc <tjp@ctrl-c.club> | 2023-08-31 20:16:16 -0600 | 
| commit | 0fe9ec0c90bfe82f637f1897e47fec07f90805ec (patch) | |
| tree | c483fd2b4834a9ba281c92220bcf8adb9e13fb46 /gemini/gemtext/sub_test.go | |
| parent | d3d5d0df7fcc353318feadb57e1775f10778d505 (diff) | |
move gemtext->atom conversion into package atomconv like the other converters
Diffstat (limited to 'gemini/gemtext/sub_test.go')
| -rw-r--r-- | gemini/gemtext/sub_test.go | 138 | 
1 files changed, 0 insertions, 138 deletions
| diff --git a/gemini/gemtext/sub_test.go b/gemini/gemtext/sub_test.go deleted file mode 100644 index 9e0fcc8..0000000 --- a/gemini/gemtext/sub_test.go +++ /dev/null @@ -1,138 +0,0 @@ -package gemtext - -import ( -	"bytes" -	"context" -	"fmt" -	"io" -	"net/url" -	"testing" - -	"tildegit.org/tjp/sliderule" -	"tildegit.org/tjp/sliderule/gemini" -	"tildegit.org/tjp/sliderule/internal/types" -) - -func TestGemsubToAtom(t *testing.T) { -	tests := []struct { -		url    string -		input  string -		output string -	}{ -		{ -			url: "gemini://sombodys.site/a/page", -			input: ` -# This is a gemlog page - - -## with a subtitle after empty lines - -=> ./first-post.gmi 2023-08-25 - This is my first post -`[1:], -			output: ` -<?xml version="1.0" encoding="utf-8"?> -<feed xmlns="http://www.w3.org/2005/Atom"> -  <id>gemini://sombodys.site/a/page</id> -  <link href="gemini://sombodys.site/a/page"/> -  <title>This is a gemlog page</title> -  <subtitle>with a subtitle after empty lines</subtitle> -  <updated>2023-08-25T12:00:00Z</updated> -  <entry> -    <id>./first-post.gmi</id> -    <link rel="alternate" href="./first-post.gmi"/> -    <title>This is my first post</title> -    <updated>2023-08-25T12:00:00Z</updated> -  </entry> -</feed> -`[1:], -		}, -	} - -	for _, test := range tests { -		t.Run(test.url, func(t *testing.T) { -			doc, err := Parse(bytes.NewBufferString(test.input)) -			if err != nil { -				t.Fatal(err) -			} -			loc, err := url.Parse(test.url) -			if err != nil { -				t.Fatal(err) -			} -			out := &bytes.Buffer{} -			if err := GmisubToAtom(doc, *loc, out); err != nil { -				t.Fatal(err) -			} -			if out.String() != test.output { -				t.Fatal("mismatched output") -			} -		}) -	} -} - -func TestAutoAtom(t *testing.T) { -	rout := &sliderule.Router{} - -	rout.Route("/foo.gmi", types.HandlerFunc(func(ctx context.Context, request *types.Request) *types.Response { -		return gemini.Success("text/gemini", bytes.NewBufferString(` -# This is my gemini page - -## a subtitle - -=> ./first-post.gmi 2023-05-17 - My first post -=> ./second-post.gmi 2023-06-02 second-ever post -`[1:])) -	})) - -	rout.Route("/bar.gmi", types.HandlerFunc(func(ctx context.Context, request *types.Request) *types.Response { -		return gemini.Success("text/gemini", bytes.NewBufferString(` -# Another homepage - -=> ./first-post.gmi 2023-05-17 - first post -=> ./second-post.gmi 2023-06-02 second post -`[1:])) -	})) - -	h := AutoAtom(rout.Handler()) - -	response := h.Handle(context.Background(), &types.Request{URL: &url.URL{ -		Scheme: "gemini", -		Host:   "127.0.0.1", -		Path:   "/foo.gmi.atom", -	}}) -	if response.Status != gemini.StatusSuccess { -		t.Fatal("bad response code") -	} - -	result, err := io.ReadAll(response.Body) -	if err != nil { -		t.Fatal(err) -	} - -	target := ` -<?xml version="1.0" encoding="utf-8"?> -<feed xmlns="http://www.w3.org/2005/Atom"> -  <id>gemini://127.0.0.1/foo.gmi.atom</id> -  <link href="gemini://127.0.0.1/foo.gmi.atom"/> -  <title>This is my gemini page</title> -  <subtitle>a subtitle</subtitle> -  <updated>2023-06-02T12:00:00Z</updated> -  <entry> -    <id>./first-post.gmi</id> -    <link rel="alternate" href="./first-post.gmi"/> -    <title>My first post</title> -    <updated>2023-05-17T12:00:00Z</updated> -  </entry> -  <entry> -    <id>./second-post.gmi</id> -    <link rel="alternate" href="./second-post.gmi"/> -    <title>second-ever post</title> -    <updated>2023-06-02T12:00:00Z</updated> -  </entry> -</feed> -`[1:] -	if string(result) != target { -		fmt.Println(target) -		fmt.Println(string(result)) -		t.Fatal("response body") -	} -} | 
