package frameproto import ( "testing" ) func TestAppendFrameButton4Target(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 [256]byte var p []byte = buffer[0:0] p = AppendFrameButton4Target(p, test.Target) expected := test.Expected actual := string(p) 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 } } { const top string = "\n\n" const bottom string = "\n\n\n\n" var buffer [256]byte var p []byte = buffer[0:0] p = append(p, top...) p = AppendFrameButton4Target(p, test.Target) p = append(p, bottom...) expected := top + test.Expected + bottom actual := string(p) 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 } } } }