diff --git a/stringframeinputtext.go b/stringframeinputtext.go new file mode 100644 index 0000000..5492ccc --- /dev/null +++ b/stringframeinputtext.go @@ -0,0 +1,17 @@ +package frameproto + +// StringFrameInputText will return the HTML element for the Frame-Protocol's (i.e., Farcaster Frame's) "fc:frame:input:text" name-value pair. +// +// For example, this call: +// +// var label string = "enter your username" +// +// str := frameproto.StringFrameInputText(label) +// +// Would return this HTML element: +// +// +func StringFrameInputText(label string) string { + const property string = MetaPropertyFrameInputText + return stringMetaPropertyContent(property, label) +} diff --git a/stringframeinputtext_test.go b/stringframeinputtext_test.go new file mode 100644 index 0000000..a40e688 --- /dev/null +++ b/stringframeinputtext_test.go @@ -0,0 +1,63 @@ +package frameproto + +import ( + "testing" +) + +func TestStringFrameInputText(t *testing.T) { + + tests := []struct{ + URL string + Expected string + }{ + { + URL: "", + Expected: ``+"\n", + }, + + + + { + URL: "something", + Expected: ``+"\n", + }, + + + + { + URL: "Hello world! 🙂", + Expected: ``+"\n", + }, + + + + { + URL: "enter your username", + Expected: ``+"\n", + }, + + + + { + URL: "I like to eat, eat, eat, apples and bananas", + Expected: ``+"\n", + }, + } + + for testNumber, test := range tests { + + actual := StringFrameInputText(test.URL) + + expected := test.Expected + + 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("URL: %q", test.URL) + continue + } + } +}