msi [1/2]: Add tests that show '!=' is not a valid conditionial expression operator

James Hawkins truiken at gmail.com
Thu Jun 28 17:11:26 CDT 2007


Hi,

Changelog:
* Add tests that show '!=' is not a valid conditionial expression operator.

 dlls/msi/tests/package.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

-- 
James Hawkins
-------------- next part --------------
diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index be1ff7e..1a83724 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -1329,6 +1329,29 @@ static void test_condition(void)
     r = MsiEvaluateCondition(hpkg, "one < \"1\"");
     ok( r == MSICONDITION_FALSE, "wrong return val\n");
 
+    MsiSetProperty(hpkg, "X", "5.0");
+
+    r = MsiEvaluateCondition(hpkg, "X != \"\"");
+    ok( r == MSICONDITION_ERROR, "wrong return val (%d)\n", r);
+
+    r = MsiEvaluateCondition(hpkg, "X =\"5.0\"");
+    ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r);
+
+    r = MsiEvaluateCondition(hpkg, "X =\"5.1\"");
+    ok( r == MSICONDITION_FALSE, "wrong return val (%d)\n", r);
+
+    r = MsiEvaluateCondition(hpkg, "X =\"6.0\"");
+    ok( r == MSICONDITION_FALSE, "wrong return val (%d)\n", r);
+
+    r = MsiEvaluateCondition(hpkg, "X =\"5.0\" or X =\"5.1\" or X =\"6.0\"");
+    ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r);
+
+    r = MsiEvaluateCondition(hpkg, "(X =\"5.0\" or X =\"5.1\" or X =\"6.0\")");
+    ok( r == MSICONDITION_TRUE, "wrong return val (%d)\n", r);
+
+    r = MsiEvaluateCondition(hpkg, "X !=\"\" and (X =\"5.0\" or X =\"5.1\" or X =\"6.0\")");
+    ok( r == MSICONDITION_ERROR, "wrong return val (%d)\n", r);
+
     MsiCloseHandle( hpkg );
     DeleteFile(msifile);
 }
-- 
1.4.1


More information about the wine-patches mailing list