def testSetChooseFile(self):
     me = "me"
     def chooseMe(prompt):
         return me
     rinterface.set_choosefile(chooseMe)
     self.assertEquals(rinterface.get_choosefile(), chooseMe)
     res = rinterface.baseenv["file.choose"]()
     self.assertEquals(me, res[0])
     rinterface.set_choosefile(rinterface.chooseFile)
    def testChooseFileWithError(self):
        def noconsole(x):
            pass
        rinterface.set_writeconsole(noconsole) # reverted by the tearDown method
        def f(prompt):
            raise Exception("Doesn't work.")
        rinterface.set_choosefile(f)

        tmp_file = tempfile.NamedTemporaryFile()
        stderr = sys.stderr
        sys.stderr = tmp_file
        try:
            res = rinterface.baseenv["file.choose"]()
        except rinterface.RRuntimeError, rre:
            pass
 def tearDown(self):
     rinterface.set_writeconsole(rinterface.consolePrint)
     rinterface.set_readconsole(rinterface.consoleRead)
     rinterface.set_readconsole(rinterface.consoleFlush)
     rinterface.set_choosefile(rinterface.chooseFile)