TY2AE7AIMJICIH3MYOPQZRXCUOY3XOVCYYNP3BKKFPRRKICCQHXQC FJAM6Z3SJ4WITRPEEBOPIIU4CQAT33EC26CB2WXVZHGSWI56FQEAC AIMA4HLDQ6GI74ESXMOJJ5UVHKZWPNED26G6SXX76G6ORQLYS5PAC AVTNUQYRBW7IX2YQ3KDLVQ23RGW3BAKTAE7P73ASBYNKOHMQMH5AC JOPVPUSAMMU6RFVDQR4NJC4GNNUFB7GPKVH7OS5FKCYS5QZ53VLQC 3QNOKBFMKBGXBVJIRHR2444JRRMBTABHE4674NR3DT67RRM2X6GAC MIKAQWHPJFAELPV7ATGH6DWR7V4FKHAOYMPAKVFFSGEUNE5IVIDQC KHPSHJN4BMTJ3CHUFQQZU7ZIQDOQDF3L5HV3TRT5OJMYICJAEB5QC JMUD7T3OJTEF5V73Y2B2GSVUBNBSJFRJPZNREBE5E4BV3IG6SJLQC 4KC7I3E2DIKLIP7LQRKB5WFA2Z5XZXAU46RFHNFQU5BVEJPDX6UQC 3QWK3GSA5KTVQJKXQ65OGZA2AORHFALLBXWP2A4MN6YDE7VV4PUAC function App.run_tests()local sorted_names = {}for name,binding in pairs(_G) doif name:find('test_') == 1 thentable.insert(sorted_names, name)endendtable.sort(sorted_names)for _,name in ipairs(sorted_names) doApp.initialize_for_test()--? print('=== '..name)--? _G[name]()xpcall(_G[name], function(err) prepend_debug_info_to_test_failure(name, err) end)end-- clean up all test methodsfor _,name in ipairs(sorted_names) do_G[name] = nilendend
function App.screen.check(y, expected_contents, msg)--? print('checking for "'..expected_contents..'" at y '..tostring(y))local screen_row = 'y'..tostring(y)local contents = ''if App.screen.contents[screen_row] == nil thenerror('no text at y '..tostring(y))endfor i,s in ipairs(App.screen.contents[screen_row]) docontents = contents..sendcheck_eq(contents, expected_contents, msg)-- If you access the time using App.getTime instead of love.timer.getTime,-- tests will be able to move the time back and forwards as needed using-- App.wait_fake_time below.