package frameproto import ( "testing" "strings" ) func TestWriteMetaPropertyContent(t *testing.T) { tests := []struct{ Property string Content string Expected string }{ { Property: "", Content: "", Expected: ``+"\n", }, { Property: "name", Content: "value", Expected: ``+"\n", }, { Property: "test", Content: "5 > 3", Expected: ``+"\n", }, { Property: "test", Content: "5 < 3", Expected: ``+"\n", }, { Property: "quotation", Content: `she said, "hello! 🙂"`, Expected: ``+"\n", }, { Property: "apple\tbanana\tcherry", Content: "\x00\x01\x02\x03\x04\x05\x06\x07\x08", Expected: ``+"\n", }, } for testNumber, test := range tests { var buffer strings.Builder writeMetaPropertyContent(&buffer, test.Property, test.Content) expected := test.Expected actual := buffer.String() if expected != actual { t.Errorf("For test #%d, the actual rendered 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("PROPERTY: %s", test.Property) t.Logf("CONTENT: %s", test.Content) continue } } }