Jacek Caban : mshtml/tests: Allow running external script tests.
Alexandre Julliard
julliard at winehq.org
Wed Apr 21 15:57:54 CDT 2021
Module: wine
Branch: master
Commit: 7ba144b46914847b9eec7b86eabb0388e0337ee6
URL: https://source.winehq.org/git/wine.git/?a=commit;h=7ba144b46914847b9eec7b86eabb0388e0337ee6
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Apr 21 17:22:38 2021 +0200
mshtml/tests: Allow running external script tests.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mshtml/tests/script.c | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/tests/script.c b/dlls/mshtml/tests/script.c
index 749ec21607b..a57468afc65 100644
--- a/dlls/mshtml/tests/script.c
+++ b/dlls/mshtml/tests/script.c
@@ -2792,7 +2792,7 @@ typedef struct {
IStream *stream;
char *data;
- size_t size;
+ ULONG size;
char *ptr;
IUri *uri;
@@ -3116,12 +3116,21 @@ static HRESULT WINAPI ProtocolEx_StartEx(IInternetProtocolEx *iface, IUri *uri,
This->size = strlen(This->data);
}else {
src = FindResourceW(NULL, *path == '/' ? path+1 : path, (const WCHAR*)RT_HTML);
- ok(src != NULL, "Could not find resource for path %s\n", wine_dbgstr_w(path));
if(src) {
This->size = SizeofResource(NULL, src);
This->data = LoadResource(NULL, src);
}else {
- hres = E_FAIL;
+ HANDLE file = CreateFileW(*path == '/' ? path+1 : path, GENERIC_READ, 0, NULL, OPEN_EXISTING,
+ FILE_ATTRIBUTE_READONLY, NULL);
+ if(file != INVALID_HANDLE_VALUE) {
+ This->size = GetFileSize(file, NULL);
+ This->data = malloc(This->size);
+ ReadFile(file, This->data, This->size, &This->size, NULL);
+ CloseHandle(file);
+ }else {
+ ok(0, "Could not find %s\n", debugstr_w(path));
+ hres = E_FAIL;
+ }
}
}
@@ -3559,10 +3568,17 @@ static BOOL check_ie(void)
START_TEST(script)
{
+ int argc;
+ char **argv;
+
+ argc = winetest_get_mainargs(&argv);
CoInitialize(NULL);
container_hwnd = create_container_window();
- if(check_ie()) {
+ if(argc > 2) {
+ init_protocol_handler();
+ run_script_as_http_with_mode(argv[2], NULL, "11");
+ }else if(check_ie()) {
if(winetest_interactive || ! is_ie_hardened()) {
if(register_script_engine()) {
test_simple_script();
More information about the wine-cvs
mailing list