Skip to content Search Apps Documentation Source Content File Folder Download Copy Actions State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

render_example_test.gno

1.51 Kb · 42 lines
 1package blog
 2
 3import "testing"
 4
 5// ExampleRender pins the index. It seeds state directly (rather than through
 6// Set) so the example takes no `cur realm`, and it resets first because an
 7// example runs after every Test in the package and would otherwise render what
 8// they left behind.
 9func ExampleRender() {
10	reset()
11	seed("mygnoscan", "Sharing mygnoscan", "2026-09-23", "mygnoscan,tooling", "An unfinished BI tool for gno.land.")
12	seed("hello", "Hello", "2026-09-01", "meta", "Starting a blog on chain.")
13	print(Render(""))
14	// Output:
15	// # moul's blog
16	//
17	// Notes on gno.land, from the person building on it.
18	//
19	// ## [Sharing mygnoscan](/r/nym-moultest123/blog:mygnoscan)
20	//
21	// 2026-09-23 · [#mygnoscan](/r/nym-moultest123/blog:t/mygnoscan) · [#tooling](/r/nym-moultest123/blog:t/tooling)
22	//
23	// An unfinished BI tool for gno\.land\.
24	//
25	// ## [Hello](/r/nym-moultest123/blog:hello)
26	//
27	// 2026-09-01 · [#meta](/r/nym-moultest123/blog:t/meta)
28	//
29	// Starting a blog on chain\.
30}
31
32// TestNoticeBlocksAreTransparentByDefault pins the property that made it safe
33// to wrap every view in them: with nothing set on r/moul/config, Render is
34// byte-for-byte the inner render. If that ever stops holding, every page of
35// this blog gains stray whitespace at the top and the bottom.
36func TestNoticeBlocksAreTransparentByDefault(t *testing.T) {
37	for _, path := range []string{"", "t/gno", "no-such-post"} {
38		if Render(path) != render(path) {
39			t.Fatalf("Render(%q) differs from the inner render with no notice configured", path)
40		}
41	}
42}