[cgkit-commits] SF.net SVN: cgkit: [113] maya/trunk/maya_wrapper/maya/unittest/ sdk_unittests
Brought to you by:
mbaas
From: <mb...@us...> - 2006-10-08 15:09:10
|
Revision: 113 http://svn.sourceforge.net/cgkit/?rev=113&view=rev Author: mbaas Date: 2006-10-08 08:08:57 -0700 (Sun, 08 Oct 2006) Log Message: ----------- Added a unit test for the MPxComand class Modified Paths: -------------- maya/trunk/maya_wrapper/maya/unittest/sdk_unittests/__init__.py Added Paths: ----------- maya/trunk/maya_wrapper/maya/unittest/sdk_unittests/MPxCommand.py Added: maya/trunk/maya_wrapper/maya/unittest/sdk_unittests/MPxCommand.py =================================================================== --- maya/trunk/maya_wrapper/maya/unittest/sdk_unittests/MPxCommand.py (rev 0) +++ maya/trunk/maya_wrapper/maya/unittest/sdk_unittests/MPxCommand.py 2006-10-08 15:08:57 UTC (rev 113) @@ -0,0 +1,114 @@ +# ***** BEGIN LICENSE BLOCK ***** +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is the Python Computer Graphics Kit. +# +# The Initial Developer of the Original Code is Matthias Baas. +# Portions created by the Initial Developer are Copyright (C) 2005 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# +# ***** END LICENSE BLOCK ***** + +# MPxCommand test + +import unittest +from maya.api import * +from maya import pluginobject + +doit_counter = 0 +undoit_counter = 0 +redoit_counter = 0 + +class TestCmd(MPxCommand): + """A test MEL command. + """ + + def __init__(self): + MPxCommand.__init__(self) + + def doIt(self, arglist): + global doit_counter +# print "doIt" + doit_counter += 1 + return MStatus() + + def undoIt(self): + global undoit_counter +# print "undoIt" + undoit_counter += 1 + return MStatus() + + def redoIt(self): + global redoit_counter +# print "redoIt" + redoit_counter += 1 + return MStatus() + + def isUndoable(self): + return False + + @staticmethod + def newSyntax(): + syntax = MSyntax() + return syntax + + @staticmethod + def creator(): + return TestCmd() + + + +class TestMPxCommand(unittest.TestCase): + + def testMPxCommand(self): + """Test the MPxCommand class. + """ + global doit_counter + global undoit_counter + global redoit_counter + + pluginobj = pluginobject.pluginObject() + fnplugin = MFnPlugin(pluginobj) + # Register the test MEL command + stat = fnplugin.registerCommand("py_test_command", TestCmd.creator, TestCmd.newSyntax) + if not stat: + self.fail("Could not register MEL command") + + # Reset the counters + doit_counter = 0 + undoit_counter = 0 + redoit_counter = 0 + + # Execute the command + try: + MGlobal.executeCommand("flushUndo", displayEnabled=True, undoEnabled=False) + stat = MGlobal.executeCommand("py_test_command", displayEnabled=True, undoEnabled=True) + if not stat: + self.fail("Could not invoke the test command: %s"% stat) + self.assertEqual(doit_counter, 1) + self.assertEqual(undoit_counter, 0) + self.assertEqual(redoit_counter, 0) + + # When the undo command is executed, Maya crashes after + # doing the test a couple of times...? + # (it doesn't seem to happen when the command/undo sequence + # is done manually in the MEL Script Editor) +# stat = MGlobal.executeCommand("undo", displayEnabled=True, undoEnabled=True) +# self.assertEqual(doit_counter, 1) +# self.assertEqual(undoit_counter, 1) +# self.assertEqual(redoit_counter, 0) + finally: + stat = fnplugin.deregisterCommand("py_test_command") + if not stat: + print "Could not deregister test MEL command! (%s)"%stat Property changes on: maya/trunk/maya_wrapper/maya/unittest/sdk_unittests/MPxCommand.py ___________________________________________________________________ Name: svn:eol-style + native Modified: maya/trunk/maya_wrapper/maya/unittest/sdk_unittests/__init__.py =================================================================== --- maya/trunk/maya_wrapper/maya/unittest/sdk_unittests/__init__.py 2006-10-06 14:59:59 UTC (rev 112) +++ maya/trunk/maya_wrapper/maya/unittest/sdk_unittests/__init__.py 2006-10-08 15:08:57 UTC (rev 113) @@ -42,6 +42,7 @@ from MMatrix import TestMMatrix from MObject import TestMObject from MObjectArray import TestMObjectArray +from MPxCommand import TestMPxCommand from MStatus import TestMStatus from MString import TestMString from MStringArray import TestMStringArray This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |