wine
13 years agogdi32/tests: Accept one more return value from EnumICMProfilesA.
Hans Leidekker [Wed, 24 Aug 2011 08:23:21 +0000 (10:23 +0200)] 
gdi32/tests: Accept one more return value from EnumICMProfilesA.

13 years agodnsapi: Implement DnsFree.
Hans Leidekker [Wed, 24 Aug 2011 08:23:04 +0000 (10:23 +0200)] 
dnsapi: Implement DnsFree.

13 years agodnsapi: Mark some test results as broken and conform to the more recent behavior.
Hans Leidekker [Wed, 24 Aug 2011 08:22:48 +0000 (10:22 +0200)] 
dnsapi: Mark some test results as broken and conform to the more recent behavior.

13 years agomsi: Resolve the target folder if necessary when building link filenames.
Hans Leidekker [Wed, 24 Aug 2011 08:22:33 +0000 (10:22 +0200)] 
msi: Resolve the target folder if necessary when building link filenames.

13 years agomsi/tests: Skip a test if the process is limited.
Hans Leidekker [Wed, 24 Aug 2011 08:22:17 +0000 (10:22 +0200)] 
msi/tests: Skip a test if the process is limited.

13 years agomsi/tests: Accept one more estimated size.
Hans Leidekker [Wed, 24 Aug 2011 08:22:00 +0000 (10:22 +0200)] 
msi/tests: Accept one more estimated size.

13 years agodsound: Kill SecondaryBufferImpl with extreme prejudice.
Michael Stefaniuc [Wed, 24 Aug 2011 00:32:13 +0000 (02:32 +0200)] 
dsound: Kill SecondaryBufferImpl with extreme prejudice.

13 years agodsound: Basic COM cleanup for the IDirectSoundBuffer8 iface.
Michael Stefaniuc [Wed, 24 Aug 2011 00:30:37 +0000 (02:30 +0200)] 
dsound: Basic COM cleanup for the IDirectSoundBuffer8 iface.

13 years agodsound/tests: IDirectSoundBuffer and IDirectSoundBuffer8 use the same implementation.
Michael Stefaniuc [Wed, 24 Aug 2011 00:29:22 +0000 (02:29 +0200)] 
dsound/tests: IDirectSoundBuffer and IDirectSoundBuffer8 use the same implementation.

13 years agodsound: Remove pointless AddRef followed by a Release.
Michael Stefaniuc [Wed, 24 Aug 2011 00:28:25 +0000 (02:28 +0200)] 
dsound: Remove pointless AddRef followed by a Release.

13 years agogdi32/tests: Add additional font to fullnames test.
Grazvydas Ignotas [Tue, 23 Aug 2011 20:11:59 +0000 (23:11 +0300)] 
gdi32/tests: Add additional font to fullnames test.

13 years agogdi32/tests: Check for exact fonts before doing fullname test.
Grazvydas Ignotas [Tue, 23 Aug 2011 20:11:58 +0000 (23:11 +0300)] 
gdi32/tests: Check for exact fonts before doing fullname test.

13 years agogdi32: Use correct name for elfFullName.
Grazvydas Ignotas [Tue, 23 Aug 2011 20:11:57 +0000 (23:11 +0300)] 
gdi32: Use correct name for elfFullName.

13 years agowininet: Test and fix possible error situations for InternetQueryOption with INTERNET...
André Hentschel [Tue, 23 Aug 2011 19:01:44 +0000 (21:01 +0200)] 
wininet: Test and fix possible error situations for InternetQueryOption with INTERNET_OPTION_PROXY.

13 years agoconfigure: Add GNU/kFreeBSD detection.
Robert Millan [Tue, 23 Aug 2011 18:39:45 +0000 (20:39 +0200)] 
configure: Add GNU/kFreeBSD detection.

13 years agowined3d: Make the gl_info parameter to wined3d_guess_gl_vendor() const.
Henri Verbeet [Tue, 23 Aug 2011 18:08:14 +0000 (20:08 +0200)] 
wined3d: Make the gl_info parameter to wined3d_guess_gl_vendor() const.

13 years agowined3d: Make the ctx parameter to WineD3D_ReleaseFakeGLContext() const.
Henri Verbeet [Tue, 23 Aug 2011 18:08:13 +0000 (20:08 +0200)] 
wined3d: Make the ctx parameter to WineD3D_ReleaseFakeGLContext() const.

13 years agowined3d: Make the device parameter to drawStridedSlow() const.
Henri Verbeet [Tue, 23 Aug 2011 18:08:12 +0000 (20:08 +0200)] 
wined3d: Make the device parameter to drawStridedSlow() const.

13 years agowined3d: Use draw_binding in wined3d_surface_blt().
Henri Verbeet [Tue, 23 Aug 2011 18:08:11 +0000 (20:08 +0200)] 
wined3d: Use draw_binding in wined3d_surface_blt().

13 years agowined3d: Use draw_binding in device_clear_render_targets().
Henri Verbeet [Tue, 23 Aug 2011 18:08:10 +0000 (20:08 +0200)] 
wined3d: Use draw_binding in device_clear_render_targets().

13 years agowined3d: Use draw_binding in arbfp_blit_surface().
Henri Verbeet [Tue, 23 Aug 2011 18:08:09 +0000 (20:08 +0200)] 
wined3d: Use draw_binding in arbfp_blit_surface().

13 years agowined3d: Keep track of a surface's "draw location".
Henri Verbeet [Tue, 23 Aug 2011 18:08:08 +0000 (20:08 +0200)] 
wined3d: Keep track of a surface's "draw location".

13 years agowined3d: Set the current location to SFLAG_INTEXTURE instead of SFLAG_INDRAWABLE...
Henri Verbeet [Tue, 23 Aug 2011 18:08:07 +0000 (20:08 +0200)] 
wined3d: Set the current location to SFLAG_INTEXTURE instead of SFLAG_INDRAWABLE in wined3d_surface_depth_blt().

These currently end up being the same thing, but that will change soon.

13 years agowined3d: Add a registry key to disable rendering swapchains onscreen.
Henri Verbeet [Tue, 23 Aug 2011 18:08:06 +0000 (20:08 +0200)] 
wined3d: Add a registry key to disable rendering swapchains onscreen.

We'll probably want to make this default to TRUE at some point, but at least
for the moment there still seem to be some performance advantages to rendering
onscreen in most cases.

13 years agowined3d: Don't get rid of the user memory unless we're actually called with NULL...
Henri Verbeet [Tue, 23 Aug 2011 18:08:05 +0000 (20:08 +0200)] 
wined3d: Don't get rid of the user memory unless we're actually called with NULL in surface_set_mem().

In particular, some applications will call surface_set_mem() with the same
pointer to notify us the contents have changed.

13 years agousp10: Always use a SCRIPT_STATE and SCRIPT_CONTROL structure in ScriptStringAnalyse.
Aric Stewart [Tue, 23 Aug 2011 17:55:49 +0000 (12:55 -0500)] 
usp10: Always use a SCRIPT_STATE and SCRIPT_CONTROL structure in ScriptStringAnalyse.

13 years agocryptui: Disable some buttons if a certificate is not selected.
Alexander Morozov [Mon, 8 Aug 2011 15:39:07 +0000 (19:39 +0400)] 
cryptui: Disable some buttons if a certificate is not selected.

13 years agowininet: Parse user and password for proxy authentication.
André Hentschel [Mon, 22 Aug 2011 19:31:54 +0000 (21:31 +0200)] 
wininet: Parse user and password for proxy authentication.

13 years agowininet: Don't return a relative path when building the proxy url request.
André Hentschel [Mon, 22 Aug 2011 19:31:14 +0000 (21:31 +0200)] 
wininet: Don't return a relative path when building the proxy url request.

13 years agowininet: Use the constants from the wininet header.
André Hentschel [Mon, 22 Aug 2011 19:30:55 +0000 (21:30 +0200)] 
wininet: Use the constants from the wininet header.

13 years agoddraw: Correct WINED3DFMT_X8D24_UNORM.
Stefan Dösinger [Thu, 18 Aug 2011 16:47:48 +0000 (18:47 +0200)] 
ddraw: Correct WINED3DFMT_X8D24_UNORM.

13 years agowined3d: Disable WINED3DFMT_S1_UINT_D15_UNORM and WINED3DFMT_S4X4_UINT_D24_UNORM.
Stefan Dösinger [Thu, 18 Aug 2011 16:44:28 +0000 (18:44 +0200)] 
wined3d: Disable WINED3DFMT_S1_UINT_D15_UNORM and WINED3DFMT_S4X4_UINT_D24_UNORM.

13 years agoddraw: Correct WINED3DFMT_D24_UNORM_S8_UINT.
Stefan Dösinger [Thu, 18 Aug 2011 16:28:50 +0000 (18:28 +0200)] 
ddraw: Correct WINED3DFMT_D24_UNORM_S8_UINT.

13 years agowined3d: Call glFlush after updating a buffer.
Stefan Dösinger [Sun, 7 Aug 2011 21:43:13 +0000 (23:43 +0200)] 
wined3d: Call glFlush after updating a buffer.

13 years agommdevapi: After GetBuffer, refuse Reset, but Start/Stop is ok.
Jörg Höhle [Wed, 10 Aug 2011 16:07:51 +0000 (18:07 +0200)] 
mmdevapi: After GetBuffer, refuse Reset, but Start/Stop is ok.

13 years agodinput: Proper conversion of username parameters for Set and BuildActionMap.
Lucas Fialho Zawacki [Wed, 24 Aug 2011 02:42:53 +0000 (23:42 -0300)] 
dinput: Proper conversion of username parameters for Set and BuildActionMap.

13 years agodinput: Free previous action map in SetActionMap.
Lucas Fialho Zawacki [Wed, 24 Aug 2011 02:42:52 +0000 (23:42 -0300)] 
dinput: Free previous action map in SetActionMap.

13 years agodinput: In BuildActionMap, don't assign objects to actions mapped by an user.
Lucas Fialho Zawacki [Wed, 24 Aug 2011 02:42:51 +0000 (23:42 -0300)] 
dinput: In BuildActionMap, don't assign objects to actions mapped by an user.

13 years agodinput: Common implementation for joystick, keyboard and mouse SetActionMap.
Lucas Fialho Zawacki [Wed, 24 Aug 2011 02:42:50 +0000 (23:42 -0300)] 
dinput: Common implementation for joystick, keyboard and mouse SetActionMap.

13 years agodinput: Common implementation of BuildActionMap for keyboard and mouse.
Lucas Fialho Zawacki [Wed, 24 Aug 2011 02:42:49 +0000 (23:42 -0300)] 
dinput: Common implementation of BuildActionMap for keyboard and mouse.

13 years agows2_32: Fix false-positive write fds on select().
Bruno Jesus [Fri, 5 Aug 2011 04:04:06 +0000 (01:04 -0300)] 
ws2_32: Fix false-positive write fds on select().

13 years agooleaut32: Correctly test VARIANT_BOOL value in VarCat.
Jacek Caban [Tue, 23 Aug 2011 13:49:07 +0000 (15:49 +0200)] 
oleaut32: Correctly test VARIANT_BOOL value in VarCat.

13 years agomshtml: Wine Gecko 1.3 release.
Jacek Caban [Tue, 23 Aug 2011 12:07:02 +0000 (14:07 +0200)] 
mshtml: Wine Gecko 1.3 release.

13 years agonotepad: Tweak an error message for consistency.
Francois Gouget [Tue, 23 Aug 2011 12:40:28 +0000 (14:40 +0200)] 
notepad: Tweak an error message for consistency.

13 years agoshdoclc: Convert some unneeded popup menu labels to comments.
Francois Gouget [Tue, 23 Aug 2011 12:38:06 +0000 (14:38 +0200)] 
shdoclc: Convert some unneeded popup menu labels to comments.

13 years agohhctrl.ocx: Convert an unneeded popup menu label to a comment.
Francois Gouget [Tue, 23 Aug 2011 12:37:09 +0000 (14:37 +0200)] 
hhctrl.ocx: Convert an unneeded popup menu label to a comment.

13 years agooleview: Replace the CLSCTX_XXX strings with proper English sentences.
Francois Gouget [Tue, 23 Aug 2011 12:33:45 +0000 (14:33 +0200)] 
oleview: Replace the CLSCTX_XXX strings with proper English sentences.

13 years agopo: A few French translation fixes.
Francois Gouget [Tue, 23 Aug 2011 12:19:32 +0000 (14:19 +0200)] 
po: A few French translation fixes.

13 years agowmc: Remove a stray reference to wrc in the man page.
Francois Gouget [Tue, 23 Aug 2011 12:26:36 +0000 (14:26 +0200)] 
wmc: Remove a stray reference to wrc in the man page.

13 years agowineps.drv: Make PSDRV_WriteRGB() static.
Francois Gouget [Tue, 23 Aug 2011 12:11:37 +0000 (14:11 +0200)] 
wineps.drv: Make PSDRV_WriteRGB() static.

13 years agomsi/tests: Clean up local packages.
Hans Leidekker [Tue, 23 Aug 2011 12:42:38 +0000 (14:42 +0200)] 
msi/tests: Clean up local packages.

13 years agomsi: Remove icons when the product is uninstalled.
Hans Leidekker [Tue, 23 Aug 2011 12:42:27 +0000 (14:42 +0200)] 
msi: Remove icons when the product is uninstalled.

13 years agomsi: Initialize the installation context from the registry if the product is installed.
Hans Leidekker [Tue, 23 Aug 2011 12:42:15 +0000 (14:42 +0200)] 
msi: Initialize the installation context from the registry if the product is installed.

13 years agomsi: Remove local patch packages when the product is removed.
Hans Leidekker [Tue, 23 Aug 2011 12:42:03 +0000 (14:42 +0200)] 
msi: Remove local patch packages when the product is removed.

13 years agomsi: Don't create a temporary copy of the package.
Hans Leidekker [Tue, 23 Aug 2011 12:41:43 +0000 (14:41 +0200)] 
msi: Don't create a temporary copy of the package.

There's no need for it now that we open the package in transacted mode.

13 years agomsi: Print a warning instead of a fixme if we fail to open the database.
Hans Leidekker [Tue, 23 Aug 2011 12:41:27 +0000 (14:41 +0200)] 
msi: Print a warning instead of a fixme if we fail to open the database.

13 years agomsi/tests: Use a package code that is different from the product code.
Hans Leidekker [Tue, 23 Aug 2011 12:41:14 +0000 (14:41 +0200)] 
msi/tests: Use a package code that is different from the product code.

13 years agogdi32: Add an exception handler to catch bad pointers passed by an application.
Huw Davies [Tue, 23 Aug 2011 10:49:53 +0000 (11:49 +0100)] 
gdi32: Add an exception handler to catch bad pointers passed by an application.

13 years agogdi32: Remove an unneeded level of indentation.
Huw Davies [Tue, 23 Aug 2011 10:49:52 +0000 (11:49 +0100)] 
gdi32: Remove an unneeded level of indentation.

13 years agogdi32: Add support for all of the ternary rops.
Huw Davies [Tue, 23 Aug 2011 10:16:32 +0000 (11:16 +0100)] 
gdi32: Add support for all of the ternary rops.

13 years agogdi32: Add a copy_rect helper function.
Huw Davies [Tue, 23 Aug 2011 10:16:31 +0000 (11:16 +0100)] 
gdi32: Add a copy_rect helper function.

13 years agogdi32: Move the dib driver's GetImage and PutImage to a new source file.
Huw Davies [Tue, 23 Aug 2011 10:16:30 +0000 (11:16 +0100)] 
gdi32: Move the dib driver's GetImage and PutImage to a new source file.

13 years agomsvcp: Sync spec files.
Piotr Caban [Tue, 23 Aug 2011 09:51:09 +0000 (11:51 +0200)] 
msvcp: Sync spec files.

13 years agomsvcp90: Added basic_streambuf<char> class stub.
Piotr Caban [Tue, 23 Aug 2011 09:50:56 +0000 (11:50 +0200)] 
msvcp90: Added basic_streambuf<char> class stub.

13 years agokernel32: CreateFile uses an nonalertable io mode.
Bernhard Loos [Tue, 23 Aug 2011 09:33:51 +0000 (11:33 +0200)] 
kernel32: CreateFile uses an nonalertable io mode.

13 years agojscript: Don't copy more than needed in parse_string_literal.
Frédéric Delanoy [Tue, 23 Aug 2011 09:57:50 +0000 (11:57 +0200)] 
jscript: Don't copy more than needed in parse_string_literal.

13 years agomshtml: Remove no longer needed get_attr_from_nselem function.
Piotr Caban [Tue, 23 Aug 2011 09:33:52 +0000 (11:33 +0200)] 
mshtml: Remove no longer needed get_attr_from_nselem function.

13 years agomshtml/tests: Added dynamic properties accessing tests.
Piotr Caban [Tue, 23 Aug 2011 09:33:37 +0000 (11:33 +0200)] 
mshtml/tests: Added dynamic properties accessing tests.

13 years agomshtml: Make sure dynamic properties are initialized in Dispatch functions.
Piotr Caban [Tue, 23 Aug 2011 09:33:28 +0000 (11:33 +0200)] 
mshtml: Make sure dynamic properties are initialized in Dispatch functions.

13 years agomshtml: Populate dynamic properties table in get_dynamic_data.
Piotr Caban [Tue, 23 Aug 2011 09:33:18 +0000 (11:33 +0200)] 
mshtml: Populate dynamic properties table in get_dynamic_data.

13 years agomshtml: DeleteMemberByDispID should return E_NOTIMPL.
Piotr Caban [Tue, 23 Aug 2011 09:33:10 +0000 (11:33 +0200)] 
mshtml: DeleteMemberByDispID should return E_NOTIMPL.

13 years agomshtml: Added nsIDOMNamedNodeMap interface.
Piotr Caban [Tue, 23 Aug 2011 09:33:01 +0000 (11:33 +0200)] 
mshtml: Added nsIDOMNamedNodeMap interface.

13 years agoinclude: Added IHTMLAttributeCollection definition.
Piotr Caban [Tue, 23 Aug 2011 09:32:52 +0000 (11:32 +0200)] 
include: Added IHTMLAttributeCollection definition.

13 years agoole32: COM cleanup in classmoniker.c.
Michael Stefaniuc [Tue, 23 Aug 2011 08:18:37 +0000 (10:18 +0200)] 
ole32: COM cleanup in classmoniker.c.

13 years agoole32: COM cleanup in antimoniker.c.
Michael Stefaniuc [Tue, 23 Aug 2011 08:14:42 +0000 (10:14 +0200)] 
ole32: COM cleanup in antimoniker.c.

13 years agontdll: While requesting TokenGroups calculate required user buffer size in server.
Nikolay Sivov [Tue, 23 Aug 2011 07:16:27 +0000 (11:16 +0400)] 
ntdll: While requesting TokenGroups calculate required user buffer size in server.

13 years agonetapi32: Fix to prevent access beyond nul terminator.
Andrew Talbot [Mon, 22 Aug 2011 20:47:07 +0000 (21:47 +0100)] 
netapi32: Fix to prevent access beyond nul terminator.

13 years agowinmm: Constify some variables.
Andrew Talbot [Mon, 22 Aug 2011 19:31:51 +0000 (20:31 +0100)] 
winmm: Constify some variables.

13 years agomsvcrt: Constify some variables.
Andrew Talbot [Mon, 22 Aug 2011 19:31:47 +0000 (20:31 +0100)] 
msvcrt: Constify some variables.

13 years agokrnl386.exe16: Constify a variable.
Andrew Talbot [Mon, 22 Aug 2011 19:31:43 +0000 (20:31 +0100)] 
krnl386.exe16: Constify a variable.

13 years agodbghelp: Constify some variables.
Andrew Talbot [Mon, 22 Aug 2011 19:31:39 +0000 (20:31 +0100)] 
dbghelp: Constify some variables.

13 years agommdevapi: Disable sound if the user explicitly selects no driver.
Andrew Eikum [Mon, 22 Aug 2011 19:16:04 +0000 (14:16 -0500)] 
mmdevapi: Disable sound if the user explicitly selects no driver.

This also tweaks the no-driver behavior to report 0 active devices
instead of returning an error code.

13 years agowined3d: Make some parameters to get_glsl_program_entry() const.
Henri Verbeet [Mon, 22 Aug 2011 19:02:50 +0000 (21:02 +0200)] 
wined3d: Make some parameters to get_glsl_program_entry() const.

13 years agowined3d: Make the shader parameter to shader_glsl_generate_vshader() const.
Henri Verbeet [Mon, 22 Aug 2011 19:02:49 +0000 (21:02 +0200)] 
wined3d: Make the shader parameter to shader_glsl_generate_vshader() const.

13 years agowined3d: Make the shader parameter to shader_glsl_generate_pshader() const.
Henri Verbeet [Mon, 22 Aug 2011 19:02:48 +0000 (21:02 +0200)] 
wined3d: Make the shader parameter to shader_glsl_generate_pshader() const.

13 years agowined3d: Introduce a function to update a swapchain's render_to_fbo field.
Henri Verbeet [Mon, 22 Aug 2011 19:02:47 +0000 (21:02 +0200)] 
wined3d: Introduce a function to update a swapchain's render_to_fbo field.

13 years agowined3d: Just call resource_unload() in updateSurfaceDesc().
Henri Verbeet [Mon, 22 Aug 2011 19:02:46 +0000 (21:02 +0200)] 
wined3d: Just call resource_unload() in updateSurfaceDesc().

Instead of trying to duplicate the functionality.

13 years agowined3d: Only delete the GL contexts after unloading resources in wined3d_device_reset().
Henri Verbeet [Mon, 22 Aug 2011 19:02:45 +0000 (21:02 +0200)] 
wined3d: Only delete the GL contexts after unloading resources in wined3d_device_reset().

The updateSurfaceDesc() calls potentially make GL calls.

13 years agowined3d: Rename WineD3D_ChoosePixelFormat() to context_choose_pixel_format().
Henri Verbeet [Mon, 22 Aug 2011 19:02:44 +0000 (21:02 +0200)] 
wined3d: Rename WineD3D_ChoosePixelFormat() to context_choose_pixel_format().

13 years agowined3d: Reject color blits on sysmem surfaces in ffp_blit_supported().
Henri Verbeet [Mon, 22 Aug 2011 19:02:43 +0000 (21:02 +0200)] 
wined3d: Reject color blits on sysmem surfaces in ffp_blit_supported().

13 years agowined3d: Move arbfp based color blits from IWineD3DSurfaceImpl_BltOverride() to wined...
Henri Verbeet [Mon, 22 Aug 2011 19:02:42 +0000 (21:02 +0200)] 
wined3d: Move arbfp based color blits from IWineD3DSurfaceImpl_BltOverride() to wined3d_surface_blt().

13 years agowined3d: Reject color blits on sysmem surfaces in arbfp_blit_supported().
Henri Verbeet [Mon, 22 Aug 2011 19:02:41 +0000 (21:02 +0200)] 
wined3d: Reject color blits on sysmem surfaces in arbfp_blit_supported().

13 years agousp10: Implement Multiple Substitution Subtable.
Aric Stewart [Mon, 22 Aug 2011 12:18:09 +0000 (07:18 -0500)] 
usp10: Implement Multiple Substitution Subtable.

13 years agowinegcc: Support a trailing / in paths to winebuild.
Bernhard Loos [Mon, 22 Aug 2011 08:40:10 +0000 (10:40 +0200)] 
winegcc: Support a trailing / in paths to winebuild.

13 years agomsxml3/mxnamespace: Support prefix override mode.
Nikolay Sivov [Sun, 21 Aug 2011 17:49:21 +0000 (21:49 +0400)] 
msxml3/mxnamespace: Support prefix override mode.

13 years agomsxml3/mxnamespace: Implemented getURI().
Nikolay Sivov [Sun, 21 Aug 2011 17:48:15 +0000 (21:48 +0400)] 
msxml3/mxnamespace: Implemented getURI().

13 years agomsxml3/mxnamespace: Implement declarePrefix() and getDeclaredPrefix().
Nikolay Sivov [Sun, 21 Aug 2011 17:47:09 +0000 (21:47 +0400)] 
msxml3/mxnamespace: Implement declarePrefix() and getDeclaredPrefix().

13 years agomsxml3/mxnamespace: Stub IVBMXNamespaceManager and added some tests.
Nikolay Sivov [Sun, 21 Aug 2011 17:44:28 +0000 (21:44 +0400)] 
msxml3/mxnamespace: Stub IVBMXNamespaceManager and added some tests.

13 years agomsxml3/mxnamespace: Add IMXNamespaceManager stub.
Nikolay Sivov [Sun, 21 Aug 2011 17:30:58 +0000 (21:30 +0400)] 
msxml3/mxnamespace: Add IMXNamespaceManager stub.

13 years agocmd/tests: Add tests for tab handling.
Frédéric Delanoy [Fri, 19 Aug 2011 23:26:55 +0000 (01:26 +0200)] 
cmd/tests: Add tests for tab handling.