Test: [skip ci] add unit tests for PR #6907

This commit is contained in:
wmayer
2022-05-24 14:17:44 +02:00
parent 42f7be2a4a
commit fc9e19aafb
3 changed files with 31 additions and 1 deletions

View File

@@ -1007,7 +1007,7 @@ PyObject* Application::sActivateWorkbenchHandler(PyObject * /*self*/, PyObject *
catch (const Base::Exception& e) {
std::stringstream err;
err << psKey << ": " << e.what();
PyErr_SetString(Base::PyExc_FC_GeneralError, err.str().c_str());
PyErr_SetString(e.getPyExceptionType(), err.str().c_str());
return nullptr;
}
catch (const XERCES_CPP_NAMESPACE_QUALIFIER TranscodingException& e) {

View File

@@ -222,6 +222,13 @@ class DocumentBasicCases(unittest.TestCase):
with self.assertRaises(TypeError):
self.Doc.findObjects(Type="App::DocumentObjectExtension")
e = FreeCAD.Base.TypeId.fromName("App::LinkExtensionPython")
self.assertIsNone(e.createInstance())
if FreeCAD.GuiUp:
obj = self.Doc.addObject("App::DocumentObject", viewType="App::Extension")
self.assertIsNone(obj.ViewObject)
def testMem(self):
self.Doc.MemSize

View File

@@ -77,6 +77,18 @@ class WorkbenchTestCase(unittest.TestCase):
wbs=FreeCADGui.listWorkbenches()
self.failUnless(not "UnitWorkbench" in wbs, "Test on removing workbench handler failed")
def testInvalidType(self):
class MyExtWorkbench(FreeCADGui.Workbench):
def Initialize(self):
pass
def GetClassName(self):
return "App::Extension"
FreeCADGui.addWorkbench(MyExtWorkbench())
with self.assertRaises(TypeError):
FreeCADGui.activateWorkbench("MyExtWorkbench")
FreeCADGui.removeWorkbench("MyExtWorkbench")
def tearDown(self):
FreeCADGui.activateWorkbench(self.Active.name())
FreeCAD.Console.PrintLog(self.Active.name())
@@ -93,3 +105,14 @@ class CommandTestCase(unittest.TestCase):
name = FreeCADGui.Command.createCustomCommand(macroName)
cmd = FreeCADGui.Command.get(name)
cmd.run()
class TestNavigationStyle(unittest.TestCase):
def setUp(self):
self.Doc = FreeCAD.newDocument("CreateTest")
def testInvalidStyle(self):
FreeCADGui.getDocument(self.Doc).ActiveView.setNavigationType("App::Extension")
self.assertNotEqual(FreeCADGui.getDocument(self.Doc).ActiveView.getNavigationType(), "App::Extension")
def tearDown(self):
FreeCAD.closeDocument("CreateTest")