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
7b360c9c
Commit
7b360c9c
authored
Mar 04, 2023
by
Jinoh Kang
Committed by
Alexandre Julliard
Apr 19, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
riched20/tests: Test for ITextDocument::Freeze and ITextDocument::Unfreeze.
(cherry picked from commit
3105fad8
)
parent
207bae2c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
114 additions
and
0 deletions
+114
-0
richole.c
dlls/riched20/tests/richole.c
+86
-0
txtsrv.c
dlls/riched20/tests/txtsrv.c
+28
-0
No files found.
dlls/riched20/tests/richole.c
View file @
7b360c9c
...
...
@@ -31,6 +31,8 @@
#include <richedit.h>
#include <richole.h>
#include <tom.h>
#include <imm.h>
#include <textserv.h>
#include <wine/test.h>
#define EXPECT_TODO_WINE 0x80000000UL
...
...
@@ -605,6 +607,7 @@ static HRESULT testoleobj_Create( struct testoleobj **objptr )
static
HMODULE
hmoduleRichEdit
;
DEFINE_GUID
(
GUID_NULL
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
);
DEFINE_GUID
(
IID_ITextServices
,
0x8d33f740
,
0xcf58
,
0x11ce
,
0xa8
,
0x9d
,
0x00
,
0xaa
,
0x00
,
0x6c
,
0xad
,
0xc5
);
static
const
WCHAR
sysW
[]
=
{
'S'
,
'y'
,
's'
,
't'
,
'e'
,
'm'
,
0
};
...
...
@@ -5444,6 +5447,88 @@ static void test_undo_control(void)
release_interfaces
(
&
inst
.
hwnd
,
&
reole
,
&
inst
.
doc
,
&
selection
);
}
static
void
test_freeze
(
void
)
{
ITextSelection
*
selection
=
NULL
;
DWORD
lasterr
,
style1
,
style2
;
IRichEditOle
*
reole
=
NULL
;
ITextDocument
*
doc
=
NULL
;
HRESULT
hr
;
LONG
count
;
HWND
hwnd
;
create_interfaces
(
&
hwnd
,
&
reole
,
&
doc
,
&
selection
);
SetLastError
(
0xdeadbeef
);
style1
=
GetWindowLongW
(
hwnd
,
GWL_STYLE
);
lasterr
=
GetLastError
();
ok
(
lasterr
==
0xdeadbeefUL
,
"GetLastError() returned %#lx
\n
"
,
lasterr
);
count
=
0xdeadbeef
;
hr
=
ITextDocument_Freeze
(
doc
,
&
count
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Freeze returned %#lx
\n
"
,
hr
);
todo_wine
ok
(
count
==
1
,
"expected count to be %d, got %ld
\n
"
,
1
,
count
);
style2
=
GetWindowLongW
(
hwnd
,
GWL_STYLE
);
ok
(
style2
==
style1
,
"expected window style to not change from %#lx, got %#lx
\n
"
,
style1
,
style2
);
count
=
0xdeadbeef
;
hr
=
ITextDocument_Freeze
(
doc
,
&
count
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Freeze returned %#lx
\n
"
,
hr
);
todo_wine
ok
(
count
==
2
,
"expected count to be %d, got %ld
\n
"
,
2
,
count
);
count
=
0xdeadbeef
;
hr
=
ITextDocument_Unfreeze
(
doc
,
&
count
);
todo_wine
ok
(
hr
==
S_FALSE
,
"ITextDocument_Unfreeze returned %#lx
\n
"
,
hr
);
todo_wine
ok
(
count
==
1
,
"expected count to be %d, got %ld
\n
"
,
1
,
count
);
count
=
0xdeadbeef
;
hr
=
ITextDocument_Unfreeze
(
doc
,
&
count
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Unfreeze returned %#lx
\n
"
,
hr
);
todo_wine
ok
(
count
==
0
,
"expected count to be %d, got %ld
\n
"
,
0
,
count
);
count
=
0xdeadbeef
;
hr
=
ITextDocument_Unfreeze
(
doc
,
&
count
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Unfreeze returned %#lx
\n
"
,
hr
);
todo_wine
ok
(
count
==
0
,
"expected count to be %d, got %ld
\n
"
,
0
,
count
);
count
=
0xdeadbeef
;
hr
=
ITextDocument_Freeze
(
doc
,
&
count
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Freeze returned %#lx
\n
"
,
hr
);
todo_wine
ok
(
count
==
1
,
"expected count to be %d, got %ld
\n
"
,
1
,
count
);
count
=
0xdeadbeef
;
hr
=
ITextDocument_Unfreeze
(
doc
,
&
count
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Unfreeze returned %#lx
\n
"
,
hr
);
todo_wine
ok
(
count
==
0
,
"expected count to be %d, got %ld
\n
"
,
0
,
count
);
count
=
0xdeadbeef
;
hr
=
ITextDocument_Freeze
(
doc
,
NULL
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Freeze returned %#lx
\n
"
,
hr
);
count
=
0xdeadbeef
;
hr
=
ITextDocument_Unfreeze
(
doc
,
NULL
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Unfreeze returned %#lx
\n
"
,
hr
);
release_interfaces
(
&
hwnd
,
&
reole
,
&
doc
,
&
selection
);
}
START_TEST
(
richole
)
{
/* Must explicitly LoadLibrary(). The test has no references to functions in
...
...
@@ -5487,4 +5572,5 @@ START_TEST(richole)
test_clipboard
();
test_undo
();
test_undo_control
();
test_freeze
();
}
dlls/riched20/tests/txtsrv.c
View file @
7b360c9c
...
...
@@ -815,15 +815,20 @@ static void test_TxGetNaturalSize(void)
static
void
test_TxDraw
(
void
)
{
ITextServices
*
txtserv
;
ITextDocument
*
txtdoc
;
ITextHost
*
host
;
HRESULT
hr
;
RECT
client
=
{
0
,
0
,
100
,
100
};
ITextHostTestImpl
*
host_impl
;
LONG
freeze_count
;
HDC
hdc
;
if
(
!
init_texthost
(
&
txtserv
,
&
host
))
return
;
hr
=
ITextServices_QueryInterface
(
txtserv
,
&
IID_ITextDocument
,
(
void
**
)
&
txtdoc
);
ok
(
hr
==
S_OK
,
"ITextServices_QueryInterface (ITextDocument) returned %#lx
\n
"
,
hr
);
host_impl
=
impl_from_ITextHost
(
host
);
host_impl
->
window
=
CreateWindowExA
(
0
,
"static"
,
NULL
,
WS_POPUP
|
WS_VISIBLE
,
0
,
0
,
400
,
400
,
0
,
0
,
0
,
NULL
);
...
...
@@ -856,9 +861,32 @@ static void test_TxDraw(void)
NULL
,
NULL
,
0
,
TXTVIEW_INACTIVE
);
ok
(
hr
==
S_OK
,
"got %08lx
\n
"
,
hr
);
freeze_count
=
0xdeadbeef
;
hr
=
ITextDocument_Freeze
(
txtdoc
,
&
freeze_count
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Freeze returned %#lx
\n
"
,
hr
);
todo_wine
ok
(
freeze_count
==
1
,
"expected count to be %d, got %ld
\n
"
,
1
,
freeze_count
);
hr
=
ITextServices_TxDraw
(
txtserv
,
DVASPECT_CONTENT
,
0
,
NULL
,
NULL
,
hdc
,
NULL
,
(
RECTL
*
)
&
client
,
NULL
,
NULL
,
NULL
,
0
,
TXTVIEW_INACTIVE
);
ok
(
hr
==
S_OK
,
"got %08lx
\n
"
,
hr
);
hr
=
ITextServices_TxDraw
(
txtserv
,
DVASPECT_CONTENT
,
0
,
NULL
,
NULL
,
hdc
,
NULL
,
(
RECTL
*
)
&
client
,
NULL
,
NULL
,
NULL
,
0
,
TXTVIEW_ACTIVE
);
todo_wine
ok
(
hr
==
E_UNEXPECTED
,
"got %08lx
\n
"
,
hr
);
freeze_count
=
0xdeadbeef
;
hr
=
ITextDocument_Unfreeze
(
txtdoc
,
&
freeze_count
);
todo_wine
ok
(
hr
==
S_OK
,
"ITextDocument_Unfreeze returned %#lx
\n
"
,
hr
);
todo_wine
ok
(
freeze_count
==
0
,
"expected count to be %d, got %ld
\n
"
,
0
,
freeze_count
);
hr
=
ITextServices_OnTxInPlaceDeactivate
(
txtserv
);
ReleaseDC
(
host_impl
->
window
,
hdc
);
ITextDocument_Release
(
txtdoc
);
ITextServices_Release
(
txtserv
);
DestroyWindow
(
host_impl
->
window
);
ITextHost_Release
(
host
);
...
...
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