Search Apps Documentation Source Content File Folder Download Copy Actions Download

z_ui_thread_01_filetest.gno

3.24 Kb · 92 lines
 1// PKGPATH: gno.land/r/gnoland/boards2/v1/filetests/z_ui_thread_01_filetest
 2
 3// Render thread sorting comments from newest to oldest.
 4package z_ui_thread_01_filetest
 5
 6import (
 7	"testing"
 8
 9	"gno.land/p/gnoland/boards"
10
11	boards2 "gno.land/r/gnoland/boards2/v1"
12)
13
14const (
15	owner     address = "g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh"
16	boardName         = "test-board"
17)
18
19var threadID boards.ID
20
21func init(cur realm) {
22	testing.SetRealm(testing.NewUserRealm(owner))
23
24	// Create a board and a thread
25	boardID := boards2.CreateBoard(cross(cur), boardName, false, false)
26	threadID = boards2.CreateThread(cross(cur), boardID, "Foo", "Body")
27
28	// Create two comments and a reply to a comment
29	boards2.CreateReply(cross(cur), boardID, threadID, 0, "First comment")
30
31	replyID := boards2.CreateReply(cross(cur), boardID, threadID, 0, "Second comment")
32	boards2.CreateReply(cross(cur), boardID, threadID, replyID, "Third comment")
33}
34
35func main() {
36	path := boardName + "/" + threadID.String() + "?order=desc"
37	println(boards2.Render(path))
38}
39
40// Output:
41// # [Boards](/r/gnoland/boards2/v1) › [test\-board](/r/gnoland/boards2/v1:test-board)
42// ## Foo
43//
44// **[g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh](/u/g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh)** `owner` · 2009-02-13 11:31pm UTC
45//
46//
47// <gno-foreign>
48// Body
49// </gno-foreign>
50//
51//
52//
53// ↳ [Flag](/r/gnoland/boards2/v1:test-board/1/flag) • [Repost](/r/gnoland/boards2/v1:test-board/1/repost) • [Comment](/r/gnoland/boards2/v1:test-board/1/reply) [2] • [Edit](/r/gnoland/boards2/v1:test-board/1/edit) • [Delete](/r/gnoland/boards2/v1$help&func=DeleteThread&boardID=1&threadID=1)
54//
55// ---
56// Sort by: [oldest first](/r/gnoland/boards2/v1:test-board/1?order=asc)
57//
58// >
59// > **[g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh](/u/g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh)** `owner` · 2009-02-13 11:31pm UTC [\#3](/r/gnoland/boards2/v1:test-board/1/3)
60// >
61// >
62// > <gno-foreign>
63// > Second comment
64// > </gno-foreign>
65// >
66// >
67// >
68// > ↳ [Flag](/r/gnoland/boards2/v1:test-board/1/3/flag) • [Reply](/r/gnoland/boards2/v1:test-board/1/3/reply) [1] • [Edit](/r/gnoland/boards2/v1:test-board/1/3/edit) • [Delete](/r/gnoland/boards2/v1$help&func=DeleteReply&boardID=1&replyID=3&threadID=1)
69// >
70// > >
71// > > **[g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh](/u/g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh)** `owner` · 2009-02-13 11:31pm UTC [\#4](/r/gnoland/boards2/v1:test-board/1/4)
72// > >
73// > >
74// > > <gno-foreign>
75// > > Third comment
76// > > </gno-foreign>
77// > >
78// > >
79// > >
80// > > ↳ [Flag](/r/gnoland/boards2/v1:test-board/1/4/flag) • [Reply](/r/gnoland/boards2/v1:test-board/1/4/reply) • [Edit](/r/gnoland/boards2/v1:test-board/1/4/edit) • [Delete](/r/gnoland/boards2/v1$help&func=DeleteReply&boardID=1&replyID=4&threadID=1)
81//
82// >
83// > **[g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh](/u/g1rp7cmetn27eqlpjpc4vuusf8kaj746tysc0qgh)** `owner` · 2009-02-13 11:31pm UTC [\#2](/r/gnoland/boards2/v1:test-board/1/2)
84// >
85// >
86// > <gno-foreign>
87// > First comment
88// > </gno-foreign>
89// >
90// >
91// >
92// > ↳ [Flag](/r/gnoland/boards2/v1:test-board/1/2/flag) • [Reply](/r/gnoland/boards2/v1:test-board/1/2/reply) • [Edit](/r/gnoland/boards2/v1:test-board/1/2/edit) • [Delete](/r/gnoland/boards2/v1$help&func=DeleteReply&boardID=1&replyID=2&threadID=1)