class script_data(object): enabled = True test_extra = ''' using tmwa::operator "" _s; #include "../map/script-parse.hpp" ''' tests = [ ('tmwa::script_data(tmwa::ScriptDataPos{42})', '{> = {(tmwa::ScriptDataPos) = {numi = 42}}, }'), ('tmwa::script_data(tmwa::ScriptDataInt{123})', '{> = {(tmwa::ScriptDataInt) = {numi = 123}}, }'), ('tmwa::script_data(tmwa::ScriptDataParam{tmwa::SIR()})', '{> = {(tmwa::ScriptDataParam) = {reg = {impl = 0}}}, }'), ('tmwa::script_data(tmwa::ScriptDataStr{"Hello"_s})', '{> = {(tmwa::ScriptDataStr) = {str = "Hello"}}, }'), ('tmwa::script_data(tmwa::ScriptDataArg{0})', '{> = {(tmwa::ScriptDataArg) = {numi = 0}}, }'), ('tmwa::script_data(tmwa::ScriptDataVariable{tmwa::SIR()})', '{> = {(tmwa::ScriptDataVariable) = {reg = {impl = 0}}}, }'), # the {script = } is almost certainly a bug in gdb's 'set print address' # but the most I can do is check for changes. ('tmwa::script_data(tmwa::ScriptDataRetInfo{tmwa::borrow(*tmwa::parse_script("{}"_s, 1, true).release())})', 'regex:\{> = \{\(tmwa::ScriptDataRetInfo\) = \{script = \}\}, \}'), ('tmwa::script_data(tmwa::ScriptDataFuncRef{404})', '{> = {(tmwa::ScriptDataFuncRef) = {numi = 404}}, }'), ]