Skip to content

Commit

Permalink
Chore: Put the three doc strings about each op together (#5708)
Browse files Browse the repository at this point in the history
  • Loading branch information
jannotti authored Aug 25, 2023
1 parent 9af066b commit 572d728
Show file tree
Hide file tree
Showing 4 changed files with 286 additions and 404 deletions.
10 changes: 5 additions & 5 deletions data/transactions/logic/assembler.go
Original file line number Diff line number Diff line change
Expand Up @@ -1727,12 +1727,12 @@ func addPseudoDocTags() {
continue
}
msg := fmt.Sprintf("`%s` can be called using `%s` with %s.", spec.Name, name, joinIntsOnOr("immediate", i))
desc, ok := opDocByName[spec.Name]
if ok {
opDocByName[spec.Name] = desc + "<br />" + msg
} else {
opDocByName[spec.Name] = msg
desc := opDescByName[spec.Name]
if desc.Short == "" {
panic(spec.Name)
}
desc.Short = desc.Short + "<br />" + msg
opDescByName[spec.Name] = desc
}
}
}
Expand Down
21 changes: 4 additions & 17 deletions data/transactions/logic/assembler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2978,26 +2978,13 @@ func TestGetSpec(t *testing.T) {
require.Equal(t, "unknown opcode: nonsense", ops.Errors[1].Err.Error())
}

func TestAddPseudoDocTags(t *testing.T) { //nolint:paralleltest // Not parallel because it modifies pseudoOps and opDocByName which are global maps
partitiontest.PartitionTest(t)
defer func() {
delete(pseudoOps, "tests")
delete(opDocByName, "multiple")
delete(opDocByName, "single")
delete(opDocByName, "none")
delete(opDocByName, "any")
}()

pseudoOps["tests"] = map[int]OpSpec{2: {Name: "multiple"}, 1: {Name: "single"}, 0: {Name: "none"}, anyImmediates: {Name: "any"}}
addPseudoDocTags()
require.Equal(t, "`multiple` can be called using `tests` with 2 immediates.", opDocByName["multiple"])
require.Equal(t, "`single` can be called using `tests` with 1 immediate.", opDocByName["single"])
require.Equal(t, "`none` can be called using `tests` with no immediates.", opDocByName["none"])
require.Equal(t, "", opDocByName["any"])
}
func TestReplacePseudo(t *testing.T) {
partitiontest.PartitionTest(t)
t.Parallel()

require.Contains(t, opDescByName["replace3"].Short, "`replace3` can be called using `replace` with no immediates.")
require.Contains(t, opDescByName["replace2"].Short, "`replace2` can be called using `replace` with 1 immediate.")

replaceVersion := 7
for v := uint64(replaceVersion); v <= AssemblerMaxVersion; v++ {
testProg(t, "byte 0x0000; byte 0x1234; replace 0", v)
Expand Down
Loading

0 comments on commit 572d728

Please sign in to comment.