\catcode`\{=1 \catcode`\}=2
\directlua{
kpse.set_program_name('luatex')
print() print("LUATEX: ", tex.luatexversion, _VERSION)

function test(c)
    if not node[c] then print ('not imple: node.' .. c) end
end
test "direct"
test "free"
test "get_attribute"
test "getglue"
test "id"
test "insert_after"
test "is_node"
test "mlist_to_hlist"
test "new"
test "next"
test "set_attribute"
test "slide"
test "subtype"
test "tail"
test "traverse"
test "type"
test "write"

function test(c)
    if not node.direct[c] then print ('not imple: node.direct.' .. c) end
end

test "copy"
test "copy_list"
test "dimensions"
test "end_of_math"
test "flush_list"
test "free"
test "get_attribute"
test "getattributelist"
test "getbox"
test "getchar"
test "getcomponents"
test "getdata"
test "getdepth"
test "getdir"
test "getfield"
test "getfont"
test "getglue"
test "getheight"
test "getid"
test "getkern"
test "getlang"
test "getlist"
test "getnext"
test "getnucleus"
test "getoffsets"
test "getpenalty"
test "getprev"
test "getshift"
test "getsub"
test "getsubtype"
test "getsup"
test "getwhd"
test "getwidth"
test "has_attribute"
test "hpack"
test "insert_after"
test "insert_before"
test "last_node"
test "new"
test "rangedimensions"
test "remove"
test "set_attribute"
test "setattributelist"
test "setchar"
test "setdata"
test "setdepth"
test "setdir"
test "setfield"
test "setfont"
test "setglue"
test "setheight"
test "setkern"
test "setlang"
test "setlist"
test "setnext"
test "setnucleus"
test "setoffsets"
test "setpenalty"
test "setshift"
test "setsub"
test "setsubtype"
test "setsup"
test "setwhd"
test "setwidth"
test "tail"
test "todirect"
test "tonode"
test "traverse"
test "traverse_id"
test "unset_attribute"
test "vpack"
test "write"
}
\end
