Jacek Caban : mshtml: Added IOmNavigator::get_*Language tests.
Alexandre Julliard
julliard at winehq.org
Mon Aug 1 13:22:10 CDT 2011
Module: wine
Branch: master
Commit: cdd09ba1859fc204042306387dc645d4e80b6500
URL: http://source.winehq.org/git/wine.git/?a=commit;h=cdd09ba1859fc204042306387dc645d4e80b6500
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Jul 31 16:45:45 2011 +0200
mshtml: Added IOmNavigator::get_*Language tests.
---
dlls/mshtml/tests/dom.c | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 08be27d..bba222f 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -34,6 +34,8 @@
#include "mshtml_test.h"
#include "objsafe.h"
+static INT (WINAPI *pLCIDToLocaleName)(LCID,LPWSTR,INT,DWORD);
+
static const char doc_blank[] = "<html></html>";
static const char doc_str1[] = "<html><body>test</body></html>";
static const char range_test_str[] =
@@ -3820,6 +3822,22 @@ static void test_mime_types_col(IOmNavigator *nav)
ok(!ref, "ref=%d\n", ref);
}
+#define test_language_string(a,b) _test_language_string(__LINE__,a,b)
+static void _test_language_string(unsigned line, const WCHAR *lang, LCID lcid)
+{
+ WCHAR buf[64];
+ int res;
+
+ if(pLCIDToLocaleName) {
+ res = pLCIDToLocaleName(lcid, buf, sizeof(buf)/sizeof(WCHAR), 0);
+ ok_(__FILE__,line)(res, "LCIDToLocaleName failed: %u\n", GetLastError());
+ ok_(__FILE__,line)(!lstrcmpW(lang, buf), "lang = %s, expected %s\n", wine_dbgstr_w(lang), wine_dbgstr_w(buf));
+ }else {
+ win_skip("LCIDToLocaleName not available, unable to test language string\n");
+ ok_(__FILE__,line)(lang != NULL, "lang == NULL\n");
+ }
+}
+
static void test_navigator(IHTMLDocument2 *doc)
{
IHTMLWindow2 *window;
@@ -3877,6 +3895,24 @@ static void test_navigator(IHTMLDocument2 *doc)
ok(!memcmp(bstr, v40, sizeof(v40)), "appVersion is %s\n", wine_dbgstr_w(bstr));
SysFreeString(bstr);
+ bstr = NULL;
+ hres = IOmNavigator_get_systemLanguage(navigator, &bstr);
+ ok(hres == S_OK, "get_systemLanguage failed: %08x\n", hres);
+ test_language_string(bstr, LOCALE_SYSTEM_DEFAULT);
+ SysFreeString(bstr);
+
+ bstr = NULL;
+ hres = IOmNavigator_get_browserLanguage(navigator, &bstr);
+ ok(hres == S_OK, "get_browserLanguage failed: %08x\n", hres);
+ test_language_string(bstr, GetUserDefaultUILanguage());
+ SysFreeString(bstr);
+
+ bstr = NULL;
+ hres = IOmNavigator_get_userLanguage(navigator, &bstr);
+ ok(hres == S_OK, "get_userLanguage failed: %08x\n", hres);
+ test_language_string(bstr, LOCALE_USER_DEFAULT);
+ SysFreeString(bstr);
+
hres = IOmNavigator_toString(navigator, NULL);
ok(hres == E_INVALIDARG, "toString failed: %08x\n", hres);
@@ -5868,6 +5904,8 @@ static void run_domtest(const char *str, domtest_t test)
START_TEST(dom)
{
+ pLCIDToLocaleName = (void*)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LCIDToLocaleName");
+
CoInitialize(NULL);
run_domtest(doc_str1, test_doc_elem);
More information about the wine-cvs
mailing list