You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since contract copies can have their own state but still call contract functions, verify if this produces conflicting results with the original contract when calling library functions. This may include obtaining addresses, sending messages, etc.
Check that it is possible to update the state of the original contract using a contract copy.
Since messages are sent in a different phase, carry out tests that produce errors in the second phase for example.
Check injectivity of addresses: two contracts with the same code but different initial data have different addresses, two contracts with the same initial data but different code have different addresses.
Test sending messages with different sending modes.
Test that receive("foo") takes precedence over receive(s: String) { if (s == "foo") { ... } }
Stdlib
In the library documentation, many functions have notes and warnings describing some semantical behavior, test those.
@jeshecdom Can you please write a small plan in my original post (you can edit it)? The first step 'structs' is already done and you already have planned to work with maps, so let's just document the plan here, in this issue
Related docs issue: #1163
List of planned semantical tests
Expressions, statements
try-catch.spec.ts
with structs, maps, and contracts.&&
and||
short-circuit._ ? _ : _
short-circuits.parseStdAddress
andnewAddress
are inverse functions for each other.Variable scoping
value @= value
seem to be incorrect tact-docs#288Contracts
receive("foo")
takes precedence overreceive(s: String) { if (s == "foo") { ... } }
Stdlib
Exit codes
==
and!=
tact-docs#174The text was updated successfully, but these errors were encountered: