"Christopher" <raccoonone(a)procyongames.com> wrote:
> +static void test_LoadStringW(void)
> +{
> + HINSTANCE hInst = GetModuleHandle(NULL);
> + WCHAR copiedstring[128], returnedstring[128], *resourcepointer = NULL;
> + int strlen, strlen2;
> +
> + /* Check that the string which is returned by LoadStringW matches
> + the string at the pointer returned by Load StringW when called with buflen = 0 */
> + strlen = LoadStringW(hInst, 2, (WCHAR *) &resourcepointer, 0); /* get pointer to resource. */
> + ok(strlen > 0, "LoadStringW failed to get pointer to resource 2, ret %d, err %d \n", strlen, GetLastError());
> +
> + strlen2 = LoadStringW(hInst, 2, returnedstring, sizeof(returnedstring) /sizeof(WCHAR));
> + ok(strlen == strlen2, "LoadStringW returned different values dependent on buflen. ret1 %d, ret2 %d \n",
> + strlen, strlen2);
> + ok(strlen2 > 0, "LoadStringW failed to load resource 2, ret %d, err %d \n", strlen2, GetLastError());
> +
> + if(resourcepointer != NULL)
> + {
> + memcpy(copiedstring, resourcepointer, strlen * sizeof(WCHAR));
> + copiedstring[strlen] = '\0';
> + }
> + /* check that strings match */
> + ok(!memcmp(copiedstring, returnedstring, (strlen + 1)*sizeof(WCHAR)),
> + "LoadStringW returned a string that does not match the string pointed to by the pointer it returned. \
> + returnedstring = %ls, copiedstring = %ls", returnedstring, copiedstring);
> +}
It's not clear what this test is supposed to show. If the 1st call
to LoadStringW is supposed to set resourcepointer to not NULL, why
don't you test it? Then 'if(resourcepointer != NULL)' check and copying
to copiedstring are not needed.
Also, if the test depends on a later patch to not fail, the test should be
included in the patch.
--
Dmitry.