appdb/ include/maintainer.php unit_test/test_o ...
WineHQ
wineowner at wine.codeweavers.com
Fri Mar 16 19:50:12 CDT 2007
ChangeSet ID: 30975
CVSROOT: /opt/cvs-commit
Module name: appdb
Changes by: wineowner at winehq.org 2007/03/16 19:50:12
Modified files:
include : maintainer.php
unit_test : test_om_objects.php
Log message:
Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Test objectGetEntries() in the objectManager tests
Patch: http://cvs.winehq.org/patch.py?id=30975
Old revision New revision Changes Path
1.29 1.30 +18 -0 appdb/include/maintainer.php
1.2 1.3 +86 -9 appdb/unit_test/test_om_objects.php
Index: appdb/include/maintainer.php
diff -u -p appdb/include/maintainer.php:1.29 appdb/include/maintainer.php:1.30
--- appdb/include/maintainer.php:1.29 17 Mar 2007 0:50:12 -0000
+++ appdb/include/maintainer.php 17 Mar 2007 0:50:12 -0000
@@ -605,6 +605,24 @@ class maintainer
{
return TRUE;
}
+
+ function display()
+ {
+ /* STUB: There is not much use for this, but it may be implemented later */
+ return TRUE;
+ }
+
+ function objectMakeUrl()
+ {
+ /* STUB: There is not much use for this, but it may be implemented later */
+ return TRUE;
+ }
+
+ function objectMakeLink()
+ {
+ /* STUB: There is not much use for this, but it may be implemented later */
+ return TRUE;
+ }
}
?>
Index: appdb/unit_test/test_om_objects.php
diff -u -p appdb/unit_test/test_om_objects.php:1.2 appdb/unit_test/test_om_objects.php:1.3
--- appdb/unit_test/test_om_objects.php:1.2 17 Mar 2007 0:50:12 -0000
+++ appdb/unit_test/test_om_objects.php 17 Mar 2007 0:50:12 -0000
@@ -16,15 +16,87 @@ function test_class($sClassName, $aTestM
{
$oObject = new ObjectManager("");
$oObject->sClass = $sClassName;
+
+ /* Check whether the required methods are present */
if(!$oObject->checkMethods($aTestMethods, false))
{
- echo $oObject->sClass." class does not have valid methods for use with".
+ echo "FAILED\t\t".$oObject->sClass." does not have valid methods for use with".
" the object manager\n";
return false;
- } else
+ }
+
+ /* Set up test user */
+ global $test_email, $test_password;
+ if(!$oUser = create_and_login_user())
+ {
+ echo "Failed to create and log in user.\n";
+ return FALSE;
+ }
+ /* Test the methods' functionality */
+ foreach($aTestMethods as $sMethod)
{
- echo "PASSED:\t\t".$oObject->sClass."\n";
+ switch($sMethod)
+ {
+ /* Should also test for queued entries, but vendor does not support
+ queueing yet */
+ case "objectGetEntries":
+ $oUser->addPriv("admin");
+ $oTestObject = new $sClassName();
+ /* Set up one test entry, depending on class */
+ switch($sClassName)
+ {
+ case "distribution":
+ $oTestObject->sName = "Silly test distribution";
+ $oTestObject->sUrl = "http://appdb.winehq.org/";
+ break;
+ case "maintainer":
+ $iAppId = 65555;
+ $oApp = new application();
+
+ if(!$oApp->create())
+ {
+ echo "Failed to create application";
+ return FALSE;
+ }
+ $oApp->iAppId = $iAppId;
+ $oApp->update();
+ $oTestObject->iUserId = $oUser->iUserId;
+ $oTestObject->iAppId = $iAppId;
+ $oTestObject->sMaintainReason = "I need it";
+ break;
+ }
+ /* Should return 1 */
+ if(!$oTestObject->create())
+ {
+ echo "FAILED\t\t$sClassName::create()\n";
+ return FALSE;
+ }
+ $iExpected = 1;
+ $hResult = $oTestObject->objectGetEntries(false);
+ $iReceived = mysql_num_rows($hResult);
+ $oTestObject->delete();
+ if($iExpected > $iReceived)
+ {
+ echo "Got $iReceived instead of >= $iExpected\n";
+ echo "FAILED\t\t$sClassName::$sMethod\n";
+ return FALSE;
+ }
+ /* Class specific clean-up */
+ switch($sClassName)
+ {
+ case "maintainer":
+ $oApp->delete();
+ break;
+ }
+ echo "PASSED\t\t$sClassName::$sMethod\n";
+ break;
+ }
}
+
+ $oUser->delete();
+
+ echo "PASSED\t\t".$oObject->sClass."\n";
+ return TRUE;
}
function test_object_methods()
@@ -74,14 +146,19 @@ function test_object_methods()
$aTestMethods = array("objectOutputHeader", "objectOutputTableRow",
"objectGetEntries", "display",
"objectGetInstanceFromRow", "outputEditor", "canEdit",
- "getOutputEditorValues", "objectGetEntries",
- "objectMakeUrl", "objectMakeLink");
+ "getOutputEditorValues", "objectMakeUrl", "objectMakeLink");
+
+ if(!test_class("distribution", $aTestMethods))
+ return FALSE;
+
+ if(!test_class("vendor", $aTestMethods))
+ return FALSE;
- test_class("distribution", $aTestMethods);
- test_class("vendor", $aTestMethods);
-/* test_class("maintainer", $aTestMethods);
- test_class("screenshot", $aTestMethods); */
+ if(!test_class("maintainer", $aTestMethods))
+ return FALSE;
+/* if(!test_class("screenshot", $aTestMethods))
+ return FALSE; */
return true;
}
More information about the wine-cvs
mailing list