~gjabell/bmk

ca2de32339c72c8139e5e7fb18d854e9a8b0172a — Galen Abell 9 months ago 3afad5c
Add tests for UTM and tag normalize
3 files changed, 57 insertions(+), 0 deletions(-)

A bookmark/bookmark_test.go
M go.mod
M go.sum
A bookmark/bookmark_test.go => bookmark/bookmark_test.go +51 -0
@@ 0,0 1,51 @@
package bookmark

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func testStripUTM(t *testing.T) {
	var utmTests = []struct {
		input, expected string
	}{
		{
			"https://example.com/page?utm_content=content&utm_medium=medium&utm_source=source&utm_campaign=campaign",
			"https://example.com/page",
		},
		{
			"https://example.com/page?utm_term=term&utm_brand=brand",
			"https://example.com/page",
		},
		{
			"https://example.com/page",
			"https://example.com/page",
		},
	}

	for _, test := range utmTests {
		actual := stripUTM(test.input)
		assert.Equal(t, test.expected, actual)
	}
}

func testNormalizeTags(t *testing.T) {
	var tagTests = []struct {
		input, expected []string
	}{
		{
			[]string{"UPPER", "BADORDER"},
			[]string{"badorder", "upper"},
		},
		{
			[]string{"goodorder", "lower"},
			[]string{"goodorder", "lower"},
		},
	}

	for _, test := range tagTests {
		actual := normalizeTags(test.input)
		assert.Equal(t, test.expected, actual)
	}
}

M go.mod => go.mod +1 -0
@@ 8,4 8,5 @@ require (
	github.com/olekukonko/tablewriter v0.0.1 // indirect
	github.com/spf13/cobra v0.0.4
	github.com/spf13/viper v1.4.0
	github.com/stretchr/testify v1.3.0 // indirect
)

M go.sum => go.sum +5 -0
@@ 16,6 16,7 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=


@@ 100,9 101,13 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU=
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=