package frameproto import ( "testing" "strings" ) func TestWriteFrameButton3Target(t *testing.T) { tests := []struct{ Target string Expected string }{ { Target: "", Expected: ``+"\n", }, { Target: "something", Expected: ``+"\n", }, { Target: "Hello world! 🙂", Expected: ``+"\n", }, { Target: "https://example.com/path/to/post/to.php", Expected: ``+"\n", }, { Target: "x-proto:apple/banana/cherry", Expected: ``+"\n", }, } for testNumber, test := range tests { var buffer strings.Builder WriteFrameButton3Target(&buffer, test.Target) expected := test.Expected actual := buffer.String() if expected != actual { t.Errorf("For test #%d, the actual written meta-tag is not what was expected." ,testNumber) t.Logf("EXPECTED: %s", expected) t.Logf("ACTUAL: %s", actual) t.Logf("EXPECTED: %q", expected) t.Logf("ACTUAL: %q", actual) t.Logf("Target: %q", test.Target) continue } } }