Option to override user's defaults. Needed for unit testing.
This commit is contained in:
@@ -89,7 +89,7 @@ class App(QtCore.QObject):
|
|||||||
new_object_available = QtCore.pyqtSignal(object)
|
new_object_available = QtCore.pyqtSignal(object)
|
||||||
message = QtCore.pyqtSignal(str, str, str)
|
message = QtCore.pyqtSignal(str, str, str)
|
||||||
|
|
||||||
def __init__(self, post_gui=None):
|
def __init__(self, user_defaults=True, post_gui=None):
|
||||||
"""
|
"""
|
||||||
Starts the application. Takes no parameters.
|
Starts the application. Takes no parameters.
|
||||||
|
|
||||||
@@ -286,7 +286,8 @@ class App(QtCore.QObject):
|
|||||||
|
|
||||||
###############################
|
###############################
|
||||||
### Load defaults from file ###
|
### Load defaults from file ###
|
||||||
self.load_defaults()
|
if user_defaults:
|
||||||
|
self.load_defaults()
|
||||||
|
|
||||||
chars = 'abcdefghijklmnopqrstuvwxyz0123456789'
|
chars = 'abcdefghijklmnopqrstuvwxyz0123456789'
|
||||||
if self.defaults['serial'] == 0 or len(str(self.defaults['serial'])) < 10:
|
if self.defaults['serial'] == 0 or len(str(self.defaults['serial'])) < 10:
|
||||||
@@ -302,7 +303,8 @@ class App(QtCore.QObject):
|
|||||||
finally:
|
finally:
|
||||||
QtCore.QTimer.singleShot(self.defaults["defaults_save_period_ms"], auto_save_defaults)
|
QtCore.QTimer.singleShot(self.defaults["defaults_save_period_ms"], auto_save_defaults)
|
||||||
|
|
||||||
QtCore.QTimer.singleShot(self.defaults["defaults_save_period_ms"], auto_save_defaults)
|
if user_defaults:
|
||||||
|
QtCore.QTimer.singleShot(self.defaults["defaults_save_period_ms"], auto_save_defaults)
|
||||||
|
|
||||||
self.options_form = GlobalOptionsUI()
|
self.options_form = GlobalOptionsUI()
|
||||||
self.options_form_fields = {
|
self.options_form_fields = {
|
||||||
@@ -1617,23 +1619,25 @@ class App(QtCore.QObject):
|
|||||||
|
|
||||||
# How the object should be initialized
|
# How the object should be initialized
|
||||||
def obj_init(gerber_obj, app_obj):
|
def obj_init(gerber_obj, app_obj):
|
||||||
assert isinstance(gerber_obj, FlatCAMGerber)
|
|
||||||
#log.debug("sys.getrefcount(proc) == %d" % sys.getrefcount(proc))
|
assert isinstance(gerber_obj, FlatCAMGerber), \
|
||||||
|
"Expected to initialize a FlatCAMGerber but got %s" % type(gerber_obj)
|
||||||
|
|
||||||
# Opening the file happens here
|
# Opening the file happens here
|
||||||
self.progress.emit(30)
|
self.progress.emit(30)
|
||||||
try:
|
try:
|
||||||
gerber_obj.parse_file(filename, follow=follow)
|
gerber_obj.parse_file(filename, follow=follow)
|
||||||
|
|
||||||
except IOError:
|
except IOError:
|
||||||
app_obj.inform.emit("[error] Failed to open file: " + filename)
|
app_obj.inform.emit("[error] Failed to open file: " + filename)
|
||||||
app_obj.progress.emit(0)
|
app_obj.progress.emit(0)
|
||||||
raise IOError('Failed to open file: ' + filename)
|
raise IOError('Failed to open file: ' + filename)
|
||||||
|
|
||||||
except ParseError, e:
|
except ParseError, e:
|
||||||
app_obj.inform.emit("[error] Failed to parse file: " + filename)
|
app_obj.inform.emit("[error] Failed to parse file: " + filename)
|
||||||
app_obj.progress.emit(0)
|
app_obj.progress.emit(0)
|
||||||
self.log.error(str(e))
|
self.log.error(str(e))
|
||||||
raise
|
raise
|
||||||
#return
|
|
||||||
|
|
||||||
# Further parsing
|
# Further parsing
|
||||||
self.progress.emit(70) # TODO: Note the mixture of self and app_obj used here
|
self.progress.emit(70) # TODO: Note the mixture of self and app_obj used here
|
||||||
|
|||||||
@@ -10,7 +10,10 @@ class BaseGUITestCase(unittest.TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.app = QtGui.QApplication(sys.argv)
|
self.app = QtGui.QApplication(sys.argv)
|
||||||
self.fc = App()
|
|
||||||
|
# Create App, keep app defaults (do not load
|
||||||
|
# user-defined defaults).
|
||||||
|
self.fc = App(user_defaults=False)
|
||||||
|
|
||||||
self.fc.open_gerber('tests/gerber_files/' + self.filename)
|
self.fc.open_gerber('tests/gerber_files/' + self.filename)
|
||||||
|
|
||||||
@@ -20,8 +23,12 @@ class BaseGUITestCase(unittest.TestCase):
|
|||||||
|
|
||||||
def test_available(self):
|
def test_available(self):
|
||||||
names = self.fc.collection.get_names()
|
names = self.fc.collection.get_names()
|
||||||
|
|
||||||
|
# Total of 1 objects
|
||||||
self.assertEquals(len(names), 1,
|
self.assertEquals(len(names), 1,
|
||||||
"Expected 1 object, found %d" % len(names))
|
"Expected 1 object, found %d" % len(names))
|
||||||
|
|
||||||
|
# Object's name matches the file name.
|
||||||
self.assertEquals(names[0], self.filename,
|
self.assertEquals(names[0], self.filename,
|
||||||
"Expected name == %s, got %s" % (self.filename, names[0]))
|
"Expected name == %s, got %s" % (self.filename, names[0]))
|
||||||
print names[0]
|
print names[0]
|
||||||
Reference in New Issue
Block a user