Hans Leidekker : usp10: Use a valid string analysis when testing ScriptXtoCP and ScriptCPtoX.

Alexandre Julliard julliard at winehq.org
Thu Jul 24 06:56:09 CDT 2008


Module: wine
Branch: master
Commit: e691de4a1af7ea3ea6c4ee39adf1914c0176ccca
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e691de4a1af7ea3ea6c4ee39adf1914c0176ccca

Author: Hans Leidekker <hans at meelstraat.net>
Date:   Wed Jul 23 13:03:06 2008 +0200

usp10: Use a valid string analysis when testing ScriptXtoCP and ScriptCPtoX.

---

 dlls/usp10/tests/usp10.c |   32 ++++++++++++++++++--------------
 1 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/dlls/usp10/tests/usp10.c b/dlls/usp10/tests/usp10.c
index 0705904..67a4ea9 100644
--- a/dlls/usp10/tests/usp10.c
+++ b/dlls/usp10/tests/usp10.c
@@ -615,22 +615,26 @@ static void test_ScriptXtoX(void)
  *  This routine tests the ScriptXtoCP and ScriptCPtoX functions using static variables *
  ****************************************************************************************/
 {
+    static const WCHAR test[] = {'t', 'e', 's', 't',0};
+    SCRIPT_ITEM items[2];
     int iX, iCP;
     int cChars;
     int cGlyphs;
     WORD pwLogClust[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
     SCRIPT_VISATTR psva[10];
     int piAdvance[10] = {200, 190, 210, 180, 170, 204, 189, 195, 212, 203};
-    SCRIPT_ANALYSIS psa;
     int piCP, piX;
     int piTrailing;
     BOOL fTrailing;
     HRESULT hr;
 
+    hr = ScriptItemize(test, lstrlenW(test), sizeof(items)/sizeof(items[0]), NULL, NULL, items, NULL);
+    ok(!hr, "ScriptItemize should return S_OK not %08x\n", hr);
+
     iX = -1;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piCP, &piTrailing);
+    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piCP, &piTrailing);
     ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
     if (piTrailing)
         ok(piCP == -1, "Negative iX should return piCP=-1 not %d\n", piCP);
@@ -640,7 +644,7 @@ static void test_ScriptXtoX(void)
     iX = 1954;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piCP, &piTrailing);
+    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piCP, &piTrailing);
     ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
     if (piTrailing) /* win2k3 */
         ok(piCP == -1, "Negative iX should return piCP=-1 not %d\n", piCP);
@@ -650,7 +654,7 @@ static void test_ScriptXtoX(void)
     iX = 779;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piCP, &piTrailing);
+    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piCP, &piTrailing);
     ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
     ok(piCP == 3 ||
        piCP == -1, /* win2k3 */
@@ -660,7 +664,7 @@ static void test_ScriptXtoX(void)
     iX = 780;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piCP, &piTrailing);
+    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piCP, &piTrailing);
     ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
     ok(piCP == 3 ||
        piCP == -1, /* win2k3 */
@@ -670,7 +674,7 @@ static void test_ScriptXtoX(void)
     iX = 868;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piCP, &piTrailing);
+    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piCP, &piTrailing);
     ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
     ok(piCP == 4 ||
        piCP == -1, /* win2k3 */
@@ -679,7 +683,7 @@ static void test_ScriptXtoX(void)
     iX = 0;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piCP, &piTrailing);
+    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piCP, &piTrailing);
     ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
     ok(piCP == 0 ||
        piCP == 10, /* win2k3 */
@@ -688,14 +692,14 @@ static void test_ScriptXtoX(void)
     iX = 195;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piCP, &piTrailing);
+    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piCP, &piTrailing);
     ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
     ok(piCP == 0, "iX=%d should return piCP=0 not %d\n", iX, piCP);
 
     iX = 196;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piCP, &piTrailing);
+    hr = ScriptXtoCP(iX, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piCP, &piTrailing);
     ok(hr == S_OK, "ScriptXtoCP should return S_OK not %08x\n", hr);
     ok(piCP == 1 ||
        piCP == 0, /* win2k3 */
@@ -705,7 +709,7 @@ static void test_ScriptXtoX(void)
     fTrailing = FALSE;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piX);
+    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piX);
     ok(hr == S_OK, "ScriptCPtoX should return S_OK not %08x\n", hr);
     ok(piX == 976 ||
        piX == 100, /* win2k3 */
@@ -715,7 +719,7 @@ static void test_ScriptXtoX(void)
     fTrailing = TRUE;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piX);
+    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piX);
     ok(hr == S_OK, "ScriptCPtoX should return S_OK not %08x\n", hr);
     ok(piX == 1171 ||
        piX == 80, /* win2k3 */
@@ -725,7 +729,7 @@ static void test_ScriptXtoX(void)
     fTrailing = FALSE;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piX);
+    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piX);
     ok(hr == S_OK, "ScriptCPtoX should return S_OK not %08x\n", hr);
     ok(piX == 1171 ||
        piX == 80, /* win2k3 */
@@ -735,7 +739,7 @@ static void test_ScriptXtoX(void)
     fTrailing = FALSE;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piX);
+    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piX);
     ok(hr == S_OK, "ScriptCPtoX should return S_OK not %08x\n", hr);
     ok(piX == 1953 ||
        piX == 0, /* win2k3 */
@@ -745,7 +749,7 @@ static void test_ScriptXtoX(void)
     fTrailing = TRUE;
     cChars = 10;
     cGlyphs = 10;
-    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &psa, &piX);
+    hr = ScriptCPtoX(iCP, fTrailing, cChars, cGlyphs, pwLogClust, psva, piAdvance, &items[0].a, &piX);
     ok(hr == S_OK, "ScriptCPtoX should return S_OK not %08x\n", hr);
     ok(piX == 1953 ||
        piX == 0, /* win2k3 */




More information about the wine-cvs mailing list