Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
44fb2605
Commit
44fb2605
authored
Sep 26, 2012
by
Jacek Caban
Committed by
Alexandre Julliard
Sep 26, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vbscript: Added MsgBox tests.
parent
39da3b2a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
151 additions
and
1 deletion
+151
-1
run.c
dlls/vbscript/tests/run.c
+151
-1
No files found.
dlls/vbscript/tests/run.c
View file @
44fb2605
...
@@ -73,6 +73,9 @@ extern const CLSID CLSID_VBScript;
...
@@ -73,6 +73,9 @@ extern const CLSID CLSID_VBScript;
expect_ ## func = called_ ## func = FALSE; \
expect_ ## func = called_ ## func = FALSE; \
}while(0)
}while(0)
#define CLEAR_CALLED(func) \
expect_ ## func = called_ ## func = FALSE
DEFINE_EXPECT
(
global_success_d
);
DEFINE_EXPECT
(
global_success_d
);
DEFINE_EXPECT
(
global_success_i
);
DEFINE_EXPECT
(
global_success_i
);
DEFINE_EXPECT
(
global_vbvar_d
);
DEFINE_EXPECT
(
global_vbvar_d
);
...
@@ -87,6 +90,9 @@ DEFINE_EXPECT(global_propargput1_d);
...
@@ -87,6 +90,9 @@ DEFINE_EXPECT(global_propargput1_d);
DEFINE_EXPECT
(
global_propargput1_i
);
DEFINE_EXPECT
(
global_propargput1_i
);
DEFINE_EXPECT
(
collectionobj_newenum_i
);
DEFINE_EXPECT
(
collectionobj_newenum_i
);
DEFINE_EXPECT
(
Next
);
DEFINE_EXPECT
(
Next
);
DEFINE_EXPECT
(
GetWindow
);
DEFINE_EXPECT
(
GetUIBehavior
);
DEFINE_EXPECT
(
EnableModeless
);
#define DISPID_GLOBAL_REPORTSUCCESS 1000
#define DISPID_GLOBAL_REPORTSUCCESS 1000
#define DISPID_GLOBAL_TRACE 1001
#define DISPID_GLOBAL_TRACE 1001
...
@@ -112,9 +118,10 @@ DEFINE_EXPECT(Next);
...
@@ -112,9 +118,10 @@ DEFINE_EXPECT(Next);
static
const
WCHAR
testW
[]
=
{
't'
,
'e'
,
's'
,
't'
,
0
};
static
const
WCHAR
testW
[]
=
{
't'
,
'e'
,
's'
,
't'
,
0
};
static
const
WCHAR
emptyW
[]
=
{
0
};
static
const
WCHAR
emptyW
[]
=
{
0
};
static
BOOL
strict_dispid_check
,
is_english
;
static
BOOL
strict_dispid_check
,
is_english
,
allow_ui
;
static
const
char
*
test_name
=
"(null)"
;
static
const
char
*
test_name
=
"(null)"
;
static
int
test_counter
;
static
int
test_counter
;
static
SCRIPTUICHANDLING
uic_handling
=
SCRIPTUICHANDLING_NOUIERROR
;
static
BSTR
a2bstr
(
const
char
*
str
)
static
BSTR
a2bstr
(
const
char
*
str
)
{
{
...
@@ -1178,6 +1185,86 @@ static IDispatchExVtbl GlobalVtbl = {
...
@@ -1178,6 +1185,86 @@ static IDispatchExVtbl GlobalVtbl = {
static
IDispatchEx
Global
=
{
&
GlobalVtbl
};
static
IDispatchEx
Global
=
{
&
GlobalVtbl
};
static
HRESULT
WINAPI
ActiveScriptSiteWindow_QueryInterface
(
IActiveScriptSiteWindow
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
ok
(
0
,
"unexpected call
\n
"
);
return
E_NOINTERFACE
;
}
static
ULONG
WINAPI
ActiveScriptSiteWindow_AddRef
(
IActiveScriptSiteWindow
*
iface
)
{
return
2
;
}
static
ULONG
WINAPI
ActiveScriptSiteWindow_Release
(
IActiveScriptSiteWindow
*
iface
)
{
return
1
;
}
static
HRESULT
WINAPI
ActiveScriptSiteWindow_GetWindow
(
IActiveScriptSiteWindow
*
iface
,
HWND
*
phwnd
)
{
if
(
!
allow_ui
)
CHECK_EXPECT
(
GetWindow
);
*
phwnd
=
NULL
;
return
S_OK
;
}
static
HRESULT
WINAPI
ActiveScriptSiteWindow_EnableModeless
(
IActiveScriptSiteWindow
*
iface
,
BOOL
fEnable
)
{
if
(
allow_ui
)
return
S_OK
;
CHECK_EXPECT
(
EnableModeless
);
ok
(
!
fEnable
,
"fEnable = %x
\n
"
,
fEnable
);
return
E_FAIL
;
}
static
const
IActiveScriptSiteWindowVtbl
ActiveScriptSiteWindowVtbl
=
{
ActiveScriptSiteWindow_QueryInterface
,
ActiveScriptSiteWindow_AddRef
,
ActiveScriptSiteWindow_Release
,
ActiveScriptSiteWindow_GetWindow
,
ActiveScriptSiteWindow_EnableModeless
};
static
IActiveScriptSiteWindow
ActiveScriptSiteWindow
=
{
&
ActiveScriptSiteWindowVtbl
};
static
HRESULT
WINAPI
ActiveScriptSiteUIControl_QueryInterface
(
IActiveScriptSiteUIControl
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
ok
(
0
,
"unexpected call
\n
"
);
return
E_NOINTERFACE
;
}
static
ULONG
WINAPI
ActiveScriptSiteUIControl_AddRef
(
IActiveScriptSiteUIControl
*
iface
)
{
return
2
;
}
static
ULONG
WINAPI
ActiveScriptSiteUIControl_Release
(
IActiveScriptSiteUIControl
*
iface
)
{
return
1
;
}
static
HRESULT
WINAPI
ActiveScriptSiteUIControl_GetUIBehavior
(
IActiveScriptSiteUIControl
*
iface
,
SCRIPTUICITEM
UicItem
,
SCRIPTUICHANDLING
*
pUicHandling
)
{
if
(
!
allow_ui
)
{
CHECK_EXPECT
(
GetUIBehavior
);
ok
(
UicItem
==
SCRIPTUICITEM_MSGBOX
,
"UidItem = %d
\n
"
,
UicItem
);
}
*
pUicHandling
=
uic_handling
;
return
S_OK
;
}
static
const
IActiveScriptSiteUIControlVtbl
ActiveScriptSiteUIControlVtbl
=
{
ActiveScriptSiteUIControl_QueryInterface
,
ActiveScriptSiteUIControl_AddRef
,
ActiveScriptSiteUIControl_Release
,
ActiveScriptSiteUIControl_GetUIBehavior
};
static
IActiveScriptSiteUIControl
ActiveScriptSiteUIControl
=
{
&
ActiveScriptSiteUIControlVtbl
};
static
HRESULT
WINAPI
ActiveScriptSite_QueryInterface
(
IActiveScriptSite
*
iface
,
REFIID
riid
,
void
**
ppv
)
static
HRESULT
WINAPI
ActiveScriptSite_QueryInterface
(
IActiveScriptSite
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
{
*
ppv
=
NULL
;
*
ppv
=
NULL
;
...
@@ -1186,6 +1273,10 @@ static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface,
...
@@ -1186,6 +1273,10 @@ static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface,
*
ppv
=
iface
;
*
ppv
=
iface
;
else
if
(
IsEqualGUID
(
&
IID_IActiveScriptSite
,
riid
))
else
if
(
IsEqualGUID
(
&
IID_IActiveScriptSite
,
riid
))
*
ppv
=
iface
;
*
ppv
=
iface
;
else
if
(
IsEqualGUID
(
&
IID_IActiveScriptSiteWindow
,
riid
))
*
ppv
=
&
ActiveScriptSiteWindow
;
else
if
(
IsEqualGUID
(
&
IID_IActiveScriptSiteUIControl
,
riid
))
*
ppv
=
&
ActiveScriptSiteUIControl
;
else
else
return
E_NOINTERFACE
;
return
E_NOINTERFACE
;
...
@@ -1376,6 +1467,17 @@ static void parse_script_af(DWORD flags, const char *src)
...
@@ -1376,6 +1467,17 @@ static void parse_script_af(DWORD flags, const char *src)
ok
(
hres
==
S_OK
,
"parse_script failed: %08x
\n
"
,
hres
);
ok
(
hres
==
S_OK
,
"parse_script failed: %08x
\n
"
,
hres
);
}
}
static
HRESULT
parse_script_ar
(
const
char
*
src
)
{
BSTR
tmp
;
HRESULT
hres
;
tmp
=
a2bstr
(
src
);
hres
=
parse_script
(
SCRIPTITEM_GLOBALMEMBERS
,
tmp
);
SysFreeString
(
tmp
);
return
hres
;
}
static
void
parse_script_a
(
const
char
*
src
)
static
void
parse_script_a
(
const
char
*
src
)
{
{
parse_script_af
(
SCRIPTITEM_GLOBALMEMBERS
,
src
);
parse_script_af
(
SCRIPTITEM_GLOBALMEMBERS
,
src
);
...
@@ -1488,6 +1590,51 @@ static void test_gc(void)
...
@@ -1488,6 +1590,51 @@ static void test_gc(void)
IActiveScriptParse_Release
(
parser
);
IActiveScriptParse_Release
(
parser
);
}
}
static
void
test_msgbox
(
void
)
{
HRESULT
hres
;
uic_handling
=
SCRIPTUICHANDLING_NOUIDEFAULT
;
SET_EXPECT
(
GetUIBehavior
);
SET_EXPECT
(
GetWindow
);
SET_EXPECT
(
EnableModeless
);
hres
=
parse_script_ar
(
"MsgBox
\"
testing...
\"
"
);
CLEAR_CALLED
(
GetUIBehavior
);
CLEAR_CALLED
(
GetWindow
);
CLEAR_CALLED
(
EnableModeless
);
if
(
FAILED
(
hres
))
{
win_skip
(
"Skipping MsgBox tests, broken (probably too old) vbscript
\n
"
);
return
;
}
SET_EXPECT
(
GetUIBehavior
);
parse_script_a
(
"dim r
\n
r=MsgBox(
\"
testing...
\"
)
\n
Call ok(r=0,
\"
r=
\"
&r)"
);
CHECK_CALLED
(
GetUIBehavior
);
SET_EXPECT
(
GetUIBehavior
);
parse_script_a
(
"MsgBox 10"
);
CHECK_CALLED
(
GetUIBehavior
);
uic_handling
=
SCRIPTUICHANDLING_ALLOW
;
SET_EXPECT
(
GetUIBehavior
);
SET_EXPECT
(
GetWindow
);
SET_EXPECT
(
EnableModeless
);
hres
=
parse_script_ar
(
"MsgBox
\"
testing...
\"
"
);
ok
(
FAILED
(
hres
),
"script not failed
\n
"
);
CHECK_CALLED
(
GetUIBehavior
);
CHECK_CALLED
(
GetWindow
);
CHECK_CALLED
(
EnableModeless
);
uic_handling
=
SCRIPTUICHANDLING_NOUIERROR
;
SET_EXPECT
(
GetUIBehavior
);
hres
=
parse_script_ar
(
"MsgBox
\"
testing...
\"
"
);
ok
(
FAILED
(
hres
),
"script not failed
\n
"
);
CHECK_CALLED
(
GetUIBehavior
);
}
static
HRESULT
test_global_vars_ref
(
BOOL
use_close
)
static
HRESULT
test_global_vars_ref
(
BOOL
use_close
)
{
{
IActiveScriptParse
*
parser
;
IActiveScriptParse
*
parser
;
...
@@ -1736,6 +1883,7 @@ static void run_tests(void)
...
@@ -1736,6 +1883,7 @@ static void run_tests(void)
test_procedures
();
test_procedures
();
test_gc
();
test_gc
();
test_msgbox
();
}
}
static
BOOL
check_vbscript
(
void
)
static
BOOL
check_vbscript
(
void
)
...
@@ -1767,6 +1915,8 @@ START_TEST(run)
...
@@ -1767,6 +1915,8 @@ START_TEST(run)
if
(
!
check_vbscript
())
{
if
(
!
check_vbscript
())
{
win_skip
(
"Broken engine, probably too old
\n
"
);
win_skip
(
"Broken engine, probably too old
\n
"
);
}
else
if
(
argc
>
2
)
{
}
else
if
(
argc
>
2
)
{
allow_ui
=
TRUE
;
uic_handling
=
SCRIPTUICHANDLING_ALLOW
;
run_from_file
(
argv
[
2
]);
run_from_file
(
argv
[
2
]);
}
else
{
}
else
{
run_tests
();
run_tests
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment