def test_log_get_set_output_function(self): logentries = [] def __log(userdata, category, priority, message): logentries.append((userdata, category, priority, message,)) # setUp should have set our output function already. origfunc, origdata = log.log_get_output_function() self.assertIsNone(origdata) logcount = len(self.logdata) origfunc(None, 0, 0, b"test_log_get_set_output_function") self.assertEqual(len(self.logdata), logcount + 1) self.assertEqual(self.logdata[logcount][3], b"test_log_get_set_output_function") logptr = log.SDL_LogOutputFunction(__log) log.log_set_output_function(logptr, "Testobject") ptr, userdata = log.log_get_output_function() self.assertEqual(userdata, "Testobject") log.log("output test") self.assertEqual(logentries[0], ("Testobject", log.SDL_LOG_CATEGORY_APPLICATION, log.SDL_LOG_PRIORITY_INFO, b"output test")) log.log_set_output_function(origfunc, userdata)
def setUp(self): self.logdata = [] def logfunc(userdata, category, priority, message): if userdata is not None: userdata = userdata.value self.logdata.append((userdata, category, priority, message,)) # bind to the TestCase, so we do not loose the reference. self.funcptr = log.SDL_LogOutputFunction(logfunc) log.log_set_output_function(self.funcptr) log.log_set_all_priority(log.SDL_LOG_PRIORITY_VERBOSE)
def tearDown(self): log.log_set_output_function(None) del self.funcptr