Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
a8e96923
Commit
a8e96923
authored
Sep 21, 2010
by
Jacek Caban
Committed by
Alexandre Julliard
Sep 21, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
jscript: Better checks for too old jscript.dll versions.
parent
a7188842
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
64 additions
and
31 deletions
+64
-31
activex.c
dlls/jscript/tests/activex.c
+35
-25
jscript.c
dlls/jscript/tests/jscript.c
+22
-6
run.c
dlls/jscript/tests/run.c
+7
-0
No files found.
dlls/jscript/tests/activex.c
View file @
a8e96923
...
...
@@ -701,7 +701,7 @@ static void _parse_script_a(unsigned line, IActiveScriptParse *parser, const cha
ok_
(
__FILE__
,
line
)(
hres
==
S_OK
,
"ParseScriptText failed: %08x
\n
"
,
hres
);
}
static
IActiveScriptParse
*
create_script
(
void
)
static
IActiveScriptParse
*
create_script
(
BOOL
skip_tests
)
{
IActiveScriptParse
*
parser
;
IActiveScript
*
script
;
...
...
@@ -719,11 +719,13 @@ static IActiveScriptParse *create_script(void)
hres
=
CoCreateInstance
(
&
CLSID_JScript
,
NULL
,
CLSCTX_INPROC_SERVER
|
CLSCTX_INPROC_HANDLER
,
&
IID_IActiveScript
,
(
void
**
)
&
script
);
ok
(
hres
==
S_OK
,
"CoCreateInstance failed: %08x
\n
"
,
hres
);
if
(
!
skip_tests
)
ok
(
hres
==
S_OK
,
"CoCreateInstance failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
NULL
;
set_safety_options
((
IUnknown
*
)
script
);
if
(
!
skip_tests
)
set_safety_options
((
IUnknown
*
)
script
);
hres
=
IActiveScript_QueryInterface
(
script
,
&
IID_IActiveScriptParse
,
(
void
**
)
&
parser
);
ok
(
hres
==
S_OK
,
"Could not get IActiveScriptParse: %08x
\n
"
,
hres
);
...
...
@@ -743,17 +745,19 @@ static IActiveScriptParse *create_script(void)
IActiveScript_Release
(
script
);
parse_script_a
(
parser
,
"function testException(func, type, number) {
\n
"
"try {
\n
"
" func();
\n
"
"}catch(e) {
\n
"
" ok(e.name === type, 'e.name = ' + e.name + ', expected ' + type)
\n
"
" ok(e.number === number, 'e.number = ' + e.number + ', expected ' + number);
\n
"
" return;
\n
"
"}"
"ok(false, 'exception expected');
\n
"
"}"
);
if
(
!
skip_tests
)
{
parse_script_a
(
parser
,
"function testException(func, type, number) {
\n
"
" try {
\n
"
" func();
\n
"
" }catch(e) {
\n
"
" ok(e.name === type, 'e.name = ' + e.name + ', expected ' + type)
\n
"
" ok(e.number === number, 'e.number = ' + e.number + ', expected ' + number);
\n
"
" return;
\n
"
" }
\n
"
" ok(false, 'exception expected');
\n
"
"}"
);
}
return
parser
;
}
...
...
@@ -800,7 +804,7 @@ static void test_ActiveXObject(void)
IActiveScriptParse
*
parser
;
IDispatchEx
*
proc
;
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
SET_EXPECT
(
Host_QS_SecMgr
);
SET_EXPECT
(
ProcessUrlAction
);
...
...
@@ -845,7 +849,7 @@ static void test_ActiveXObject(void)
IDispatchEx_Release
(
proc
);
IUnknown_Release
(
parser
);
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
proc
=
parse_procedure_a
(
parser
,
"(new ActiveXObject('Wine.Test')).reportSuccess();"
);
SET_EXPECT
(
Host_QS_SecMgr
);
...
...
@@ -867,7 +871,7 @@ static void test_ActiveXObject(void)
IDispatchEx_Release
(
proc
);
IUnknown_Release
(
parser
);
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
QS_SecMgr_hres
=
E_NOINTERFACE
;
SET_EXPECT
(
Host_QS_SecMgr
);
...
...
@@ -876,7 +880,7 @@ static void test_ActiveXObject(void)
IUnknown_Release
(
parser
);
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
ProcessUrlAction_hres
=
E_FAIL
;
SET_EXPECT
(
Host_QS_SecMgr
);
...
...
@@ -887,7 +891,7 @@ static void test_ActiveXObject(void)
IUnknown_Release
(
parser
);
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
ProcessUrlAction_policy
=
URLPOLICY_DISALLOW
;
SET_EXPECT
(
Host_QS_SecMgr
);
...
...
@@ -898,7 +902,7 @@ static void test_ActiveXObject(void)
IUnknown_Release
(
parser
);
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
CreateInstance_hres
=
E_FAIL
;
SET_EXPECT
(
Host_QS_SecMgr
);
...
...
@@ -911,7 +915,7 @@ static void test_ActiveXObject(void)
IUnknown_Release
(
parser
);
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
QueryCustomPolicy_hres
=
E_FAIL
;
SET_EXPECT
(
Host_QS_SecMgr
);
...
...
@@ -926,7 +930,7 @@ static void test_ActiveXObject(void)
IUnknown_Release
(
parser
);
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
QueryCustomPolicy_psize
=
6
;
SET_EXPECT
(
Host_QS_SecMgr
);
...
...
@@ -945,7 +949,7 @@ static void test_ActiveXObject(void)
IUnknown_Release
(
parser
);
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
QueryCustomPolicy_policy
=
URLPOLICY_DISALLOW
;
SET_EXPECT
(
Host_QS_SecMgr
);
...
...
@@ -981,7 +985,7 @@ static void test_ActiveXObject(void)
IUnknown_Release
(
parser
);
parser
=
create_script
();
parser
=
create_script
(
FALSE
);
object_with_site
=
&
ObjectWithSite
;
SET_EXPECT
(
Host_QS_SecMgr
);
...
...
@@ -1062,18 +1066,24 @@ static BOOL register_activex(void)
static
BOOL
check_jscript
(
void
)
{
IActiveScriptProperty
*
script_prop
;
IActiveScriptParse
*
parser
;
BSTR
str
;
HRESULT
hres
;
parser
=
create_script
();
parser
=
create_script
(
TRUE
);
if
(
!
parser
)
return
FALSE
;
str
=
a2bstr
(
"if(!('localeCompare' in String.prototype)) throw 1;"
);
hres
=
IActiveScriptParse64_ParseScriptText
(
parser
,
str
,
NULL
,
NULL
,
NULL
,
0
,
0
,
0
,
NULL
,
NULL
);
SysFreeString
(
str
);
if
(
hres
==
S_OK
)
hres
=
IUnknown_QueryInterface
(
parser
,
&
IID_IActiveScriptProperty
,
(
void
**
)
&
script_prop
);
IUnknown_Release
(
parser
);
if
(
hres
==
S_OK
)
IActiveScriptProperty_Release
(
script_prop
);
return
hres
==
S_OK
;
}
...
...
dlls/jscript/tests/jscript.c
View file @
a8e96923
...
...
@@ -335,10 +335,9 @@ static HRESULT set_script_prop(IActiveScript *engine, DWORD property, VARIANT *v
hres
=
IActiveScript_QueryInterface
(
engine
,
&
IID_IActiveScriptProperty
,
(
void
**
)
&
script_prop
);
if
(
FAILED
(
hres
))
{
win_skip
(
"IActiveScriptProperty not supported
\n
"
);
return
E_NOTIMPL
;
}
ok
(
hres
==
S_OK
,
"Could not get IActiveScriptProperty: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
hres
;
hres
=
IActiveScriptProperty_SetProperty
(
script_prop
,
property
,
NULL
,
val
);
IActiveScriptProperty_Release
(
script_prop
);
...
...
@@ -523,12 +522,29 @@ static void test_jscript2(void)
ok
(
!
ref
,
"ref = %d
\n
"
,
ref
);
}
static
BOOL
check_jscript
(
void
)
{
IActiveScriptProperty
*
script_prop
;
HRESULT
hres
;
hres
=
CoCreateInstance
(
&
CLSID_JScript
,
NULL
,
CLSCTX_INPROC_SERVER
|
CLSCTX_INPROC_HANDLER
,
&
IID_IActiveScriptProperty
,
(
void
**
)
&
script_prop
);
if
(
SUCCEEDED
(
hres
))
IActiveScriptProperty_Release
(
script_prop
);
return
hres
==
S_OK
;
}
START_TEST
(
jscript
)
{
CoInitialize
(
NULL
);
test_jscript
();
test_jscript2
();
if
(
check_jscript
())
{
test_jscript
();
test_jscript2
();
}
else
{
win_skip
(
"Broken engine, probably too old
\n
"
);
}
CoUninitialize
();
}
dlls/jscript/tests/run.c
View file @
a8e96923
...
...
@@ -1090,9 +1090,16 @@ static void run_tests(void)
static
BOOL
check_jscript
(
void
)
{
IActiveScriptProperty
*
script_prop
;
BSTR
str
;
HRESULT
hres
;
hres
=
CoCreateInstance
(
&
CLSID_JScript
,
NULL
,
CLSCTX_INPROC_SERVER
|
CLSCTX_INPROC_HANDLER
,
&
IID_IActiveScriptProperty
,
(
void
**
)
&
script_prop
);
if
(
FAILED
(
hres
))
return
FALSE
;
IActiveScriptProperty_Release
(
script_prop
);
str
=
a2bstr
(
"if(!('localeCompare' in String.prototype)) throw 1;"
);
hres
=
parse_script
(
0
,
str
);
SysFreeString
(
str
);
...
...
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