From 69c3c630d47ff606bb8863db201a9fa586d9fa2c Mon Sep 17 00:00:00 2001 From: x1unix <9203548+x1unix@users.noreply.github.com> Date: Tue, 25 Feb 2025 13:31:52 -0500 Subject: [PATCH] feat(boards2): add freeze tests --- .../r/nt/boards2/v1/z_19_a_filetest.gno | 30 +++++++++++ .../r/nt/boards2/v1/z_19_b_filetest.gno | 30 +++++++++++ .../r/nt/boards2/v1/z_19_c_filetest.gno | 30 +++++++++++ .../r/nt/boards2/v1/z_19_d_filetest.gno | 29 +++++++++++ .../r/nt/boards2/v1/z_20_a_filetest.gno | 32 ++++++++++++ .../r/nt/boards2/v1/z_20_b_filetest.gno | 32 ++++++++++++ .../r/nt/boards2/v1/z_20_c_filetest.gno | 52 +++++++++++++++++++ .../r/nt/boards2/v1/z_20_d_filetest.gno | 34 ++++++++++++ 8 files changed, 269 insertions(+) create mode 100644 examples/gno.land/r/nt/boards2/v1/z_19_a_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/v1/z_19_b_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/v1/z_19_c_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/v1/z_19_d_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/v1/z_20_a_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/v1/z_20_b_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/v1/z_20_c_filetest.gno create mode 100644 examples/gno.land/r/nt/boards2/v1/z_20_d_filetest.gno diff --git a/examples/gno.land/r/nt/boards2/v1/z_19_a_filetest.gno b/examples/gno.land/r/nt/boards2/v1/z_19_a_filetest.gno new file mode 100644 index 00000000000..6fcd0549d77 --- /dev/null +++ b/examples/gno.land/r/nt/boards2/v1/z_19_a_filetest.gno @@ -0,0 +1,30 @@ +package main + +import ( + "std" + + boards2 "gno.land/r/nt/boards2/v1" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID +) + +func init() { + std.TestSetOriginCaller(owner) + bid = boards2.CreateBoard("test123") + tid = boards2.CreateThread(bid, "foo", "bar") + + boards2.FreezeBoard(bid) +} + +func main() { + // Attempt to freeze a thread on frozen board + boards2.FreezeThread(bid, tid) +} + +// Error: +// board is frozen diff --git a/examples/gno.land/r/nt/boards2/v1/z_19_b_filetest.gno b/examples/gno.land/r/nt/boards2/v1/z_19_b_filetest.gno new file mode 100644 index 00000000000..f64a3b8238b --- /dev/null +++ b/examples/gno.land/r/nt/boards2/v1/z_19_b_filetest.gno @@ -0,0 +1,30 @@ +package main + +import ( + "std" + + boards2 "gno.land/r/nt/boards2/v1" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID +) + +func init() { + std.TestSetOriginCaller(owner) + bid = boards2.CreateBoard("test123") + tid = boards2.CreateThread(bid, "foo", "bar") + + boards2.FreezeThread(bid, tid) +} + +func main() { + // Attempt to freeze a frozen thread + boards2.FreezeThread(bid, tid) +} + +// Error: +// thread is frozen diff --git a/examples/gno.land/r/nt/boards2/v1/z_19_c_filetest.gno b/examples/gno.land/r/nt/boards2/v1/z_19_c_filetest.gno new file mode 100644 index 00000000000..fad97c92fc2 --- /dev/null +++ b/examples/gno.land/r/nt/boards2/v1/z_19_c_filetest.gno @@ -0,0 +1,30 @@ +package main + +import ( + "std" + + boards2 "gno.land/r/nt/boards2/v1" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID +) + +func init() { + std.TestSetOriginCaller(owner) + bid = boards2.CreateBoard("test123") + tid = boards2.CreateThread(bid, "foo", "bar") +} + +func main() { + println(boards2.IsThreadFrozen(bid, tid)) + boards2.FreezeThread(bid, tid) + println(boards2.IsThreadFrozen(bid, tid)) +} + +// Output: +// false +// true diff --git a/examples/gno.land/r/nt/boards2/v1/z_19_d_filetest.gno b/examples/gno.land/r/nt/boards2/v1/z_19_d_filetest.gno new file mode 100644 index 00000000000..f24b25a9673 --- /dev/null +++ b/examples/gno.land/r/nt/boards2/v1/z_19_d_filetest.gno @@ -0,0 +1,29 @@ +package main + +import ( + "std" + + boards2 "gno.land/r/nt/boards2/v1" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID +) + +func init() { + std.TestSetOriginCaller(owner) + bid = boards2.CreateBoard("test123") + tid = boards2.CreateThread(bid, "foo", "bar") + boards2.FreezeThread(bid, tid) +} + +func main() { + // cannot reply to a frozen thread + boards2.CreateReply(bid, tid, 0, "foobar") +} + +// Error: +// thread is frozen diff --git a/examples/gno.land/r/nt/boards2/v1/z_20_a_filetest.gno b/examples/gno.land/r/nt/boards2/v1/z_20_a_filetest.gno new file mode 100644 index 00000000000..0b57b91b0e9 --- /dev/null +++ b/examples/gno.land/r/nt/boards2/v1/z_20_a_filetest.gno @@ -0,0 +1,32 @@ +package main + +import ( + "std" + + boards2 "gno.land/r/nt/boards2/v1" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID + rid boards2.PostID +) + +func init() { + std.TestSetOriginCaller(owner) + bid = boards2.CreateBoard("test123") + tid = boards2.CreateThread(bid, "foo", "bar") + rid = boards2.CreateReply(bid, tid, 0, "reply") + + boards2.FreezeThread(bid, tid) +} + +func main() { + // Attempt to freeze a reply on frozen thread + boards2.FreezeReply(bid, tid, rid) +} + +// Error: +// thread is frozen diff --git a/examples/gno.land/r/nt/boards2/v1/z_20_b_filetest.gno b/examples/gno.land/r/nt/boards2/v1/z_20_b_filetest.gno new file mode 100644 index 00000000000..59b9f1b428b --- /dev/null +++ b/examples/gno.land/r/nt/boards2/v1/z_20_b_filetest.gno @@ -0,0 +1,32 @@ +package main + +import ( + "std" + + boards2 "gno.land/r/nt/boards2/v1" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID + rid boards2.PostID +) + +func init() { + std.TestSetOriginCaller(owner) + bid = boards2.CreateBoard("test123") + tid = boards2.CreateThread(bid, "foo", "bar") + rid = boards2.CreateReply(bid, tid, 0, "reply") + + boards2.FreezeReply(bid, tid, rid) +} + +func main() { + // Attempt to freeze already frozen reply + boards2.FreezeReply(bid, tid, rid) +} + +// Error: +// reply is frozen diff --git a/examples/gno.land/r/nt/boards2/v1/z_20_c_filetest.gno b/examples/gno.land/r/nt/boards2/v1/z_20_c_filetest.gno new file mode 100644 index 00000000000..ef3be9fa170 --- /dev/null +++ b/examples/gno.land/r/nt/boards2/v1/z_20_c_filetest.gno @@ -0,0 +1,52 @@ +package main + +import ( + "std" + + boards2 "gno.land/r/nt/boards2/v1" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID + rid boards2.PostID +) + +func init() { + std.TestSetOriginCaller(owner) + bid = boards2.CreateBoard("test123") + tid = boards2.CreateThread(bid, "foo", "bar") + rid = boards2.CreateReply(bid, tid, 0, "reply") +} + +func main() { + // reply frozen + println(boards2.IsReplyFrozen(bid, tid, rid)) + boards2.FreezeReply(bid, tid, rid) + println(boards2.IsReplyFrozen(bid, tid, rid)) + boards2.UnfreezeReply(bid, tid, rid) + println(boards2.IsReplyFrozen(bid, tid, rid)) + + // thread frozen + boards2.FreezeThread(bid, tid) + println(boards2.IsReplyFrozen(bid, tid, rid)) + boards2.UnfreezeThread(bid, tid) + println(boards2.IsReplyFrozen(bid, tid, rid)) + + // board frozen + boards2.FreezeBoard(bid) + println(boards2.IsReplyFrozen(bid, tid, rid)) + boards2.UnfreezeBoard(bid) + println(boards2.IsReplyFrozen(bid, tid, rid)) +} + +// Output: +// false +// true +// false +// true +// false +// true +// false diff --git a/examples/gno.land/r/nt/boards2/v1/z_20_d_filetest.gno b/examples/gno.land/r/nt/boards2/v1/z_20_d_filetest.gno new file mode 100644 index 00000000000..b15a45e1139 --- /dev/null +++ b/examples/gno.land/r/nt/boards2/v1/z_20_d_filetest.gno @@ -0,0 +1,34 @@ +package main + +import ( + "std" + + boards2 "gno.land/r/nt/boards2/v1" +) + +const owner = std.Address("g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5") // @test1 + +var ( + bid boards2.BoardID + tid boards2.PostID + rid boards2.PostID +) + +func init() { + std.TestSetOriginCaller(owner) + bid = boards2.CreateBoard("test123") + tid = boards2.CreateThread(bid, "foo", "bar") + rid = boards2.CreateReply(bid, tid, 0, "reply") +} + +func main() { + // unfrozen thread - should work + r2 := boards2.CreateReply(bid, tid, rid, "child 1") + + // frozen thread - can't reply + boards2.FreezeReply(bid, tid, rid) + boards2.CreateReply(bid, tid, r2, "child 2") +} + +// Error: +// reply is frozen