summaryrefslogtreecommitdiff
path: root/internal/test/findlinks_test.go
diff options
context:
space:
mode:
authordemo <demo@antix1>2026-05-09 09:45:58 -0400
committerdemo <demo@antix1>2026-05-09 09:46:49 -0400
commit29d93b1089c591b0d9de60f983e5528caa42b7f6 (patch)
tree9461ab52112fa6892b97b6057f0ddffb25672897 /internal/test/findlinks_test.go
parent918fff21c024d062fec9a15b03c3533c5dab4cff (diff)
refactor: move tests to dedicated package
Diffstat (limited to 'internal/test/findlinks_test.go')
-rw-r--r--internal/test/findlinks_test.go52
1 files changed, 52 insertions, 0 deletions
diff --git a/internal/test/findlinks_test.go b/internal/test/findlinks_test.go
new file mode 100644
index 0000000..1bc2f20
--- /dev/null
+++ b/internal/test/findlinks_test.go
@@ -0,0 +1,52 @@
+package test
+
+import (
+ "os"
+ "testing"
+
+ "git.brandonirizarry.xyz/links/internal/findlinks"
+ "github.com/google/go-cmp/cmp"
+)
+
+func findLinksFile(filename string) ([]findlinks.Link, error) {
+ f, err := os.Open(filename)
+ if err != nil {
+ panic("can't open test file")
+ }
+ defer f.Close()
+
+ return findlinks.FindLinks(f)
+}
+
+func TestFindlinks(t *testing.T) {
+ type test struct {
+ filename string
+ links []findlinks.Link
+ }
+
+ tests := []test{
+ {
+ "html/ex1.html",
+ []findlinks.Link{
+ {
+ Href: "/other-page",
+ Text: "A link to another page",
+ },
+ },
+ },
+ }
+
+ for _, test := range tests {
+ t.Run(test.filename, func(t *testing.T) {
+ links, err := findLinksFile(test.filename)
+ if err != nil {
+ t.Error(err)
+ }
+
+ if !cmp.Equal(links, test.links) {
+ t.Errorf("got %v, want %v", links, test.links)
+ }
+ })
+ }
+
+}