44 * PURPOSE: Test for SHELLSTATE
55 * PROGRAMMERS: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
66 */
7+
78#include " shelltest.h"
89
910#define NDEBUG
@@ -230,20 +231,22 @@ START_TEST(ShellState)
230231 DUMP_LONG (pss->lParamSort );
231232 DUMP_LONG (pss->iSortDirection );
232233 DUMP_LONG (pss->version );
233- DUMP_LONG (pss->lParamSort );
234- DUMP_LONG (pss->iSortDirection );
235- DUMP_LONG (pss->version );
236234 DUMP_BOOL (pss->fSepProcess );
237235 DUMP_BOOL (pss->fStartPanelOn );
238236 DUMP_BOOL (pss->fShowStartPage );
239- #if NTDDI_VERSION >= 0x06000000 // for future use
237+ #if NTDDI_VERSION >= NTDDI_VISTA // for future use
238+ DUMP_BOOL (pss->fAutoCheckSelect );
240239 DUMP_BOOL (pss->fIconsOnly );
241240 DUMP_BOOL (pss->fShowTypeOverlay );
241+ #endif
242+ #if NTDDI_VERSION >= NTDDI_WIN8 // for future use
242243 DUMP_BOOL (pss->fShowStatusBar );
243244#endif
245+ #undef DUMP_LONG
246+ #undef DUMP_BOOL
244247
245248#define SSF_MASK \
246- (SSF_SHOWALLOBJECTS | SSF_SHOWEXTENSIONS | SSF_NOCONFIRMRECYCLE | \
249+ (SSF_SHOWALLOBJECTS | SSF_SHOWEXTENSIONS | SSF_NOCONFIRMRECYCLE | SSF_SHOWSYSFILES | \
247250 SSF_SHOWCOMPCOLOR | SSF_DOUBLECLICKINWEBVIEW | SSF_DESKTOPHTML | \
248251 SSF_WIN95CLASSIC | SSF_DONTPRETTYPATH | SSF_SHOWATTRIBCOL | \
249252 SSF_MAPNETDRVBUTTON | SSF_SHOWINFOTIP | SSF_HIDEICONS )
@@ -257,8 +260,7 @@ START_TEST(ShellState)
257260 CHECK_REG_FLAG (fShowAllObjects );
258261 CHECK_REG_FLAG (fShowExtensions );
259262 CHECK_REG_FLAG (fNoConfirmRecycle );
260- if (GetNTVersion () != _WIN32_WINNT_VISTA)
261- CHECK_REG_FLAG (fShowSysFiles ); // No use, test is broken on Vista
263+ CHECK_REG_FLAG (fShowSysFiles );
262264 CHECK_REG_FLAG (fShowCompColor );
263265 CHECK_REG_FLAG (fDoubleClickInWebView );
264266 CHECK_REG_FLAG (fDesktopHTML );
@@ -268,10 +270,15 @@ START_TEST(ShellState)
268270 CHECK_REG_FLAG (fMapNetDrvBtn );
269271 CHECK_REG_FLAG (fShowInfoTip );
270272 CHECK_REG_FLAG (fHideIcons );
271- #if NTDDI_VERSION >= 0x06000000 // for future use
273+ #if NTDDI_VERSION >= NTDDI_VISTA // for future use
272274 CHECK_REG_FLAG (fAutoCheckSelect );
273275 CHECK_REG_FLAG (fIconsOnly );
276+ CHECK_REG_FLAG (fShowTypeOverlay );
277+ #endif
278+ #if NTDDI_VERSION >= NTDDI_WIN8 // for future use
279+ CHECK_REG_FLAG (fShowStatusBar );
274280#endif
281+ #undef CHECK_REG_FLAG
275282
276283 /* Get the flag settings */
277284 memset (&FlagState, 0 , sizeof (FlagState));
@@ -280,7 +287,7 @@ START_TEST(ShellState)
280287 CHECK_FLAG (fShowAllObjects );
281288 CHECK_FLAG (fShowExtensions );
282289 CHECK_FLAG (fNoConfirmRecycle );
283- CHECK_FLAG (fShowSysFiles ); // No use
290+ CHECK_FLAG (fShowSysFiles );
284291 CHECK_FLAG (fShowCompColor );
285292 CHECK_FLAG (fDoubleClickInWebView );
286293 CHECK_FLAG (fDesktopHTML );
@@ -290,11 +297,14 @@ START_TEST(ShellState)
290297 CHECK_FLAG (fMapNetDrvBtn );
291298 CHECK_FLAG (fShowInfoTip );
292299 CHECK_FLAG (fHideIcons );
293- #if NTDDI_VERSION >= 0x06000000 // for future use
300+ #if NTDDI_VERSION >= NTDDI_VISTA // for future use
294301 CHECK_FLAG (fAutoCheckSelect );
295302 CHECK_FLAG (fIconsOnly );
296303#endif
304+ #undef CHECK_FLAG
305+ #undef SSF_MASK
297306
307+ /* Structure alignment tests */
298308#if 1
299309 #define DO_IT (x ) x
300310#else
@@ -320,4 +330,5 @@ START_TEST(ShellState)
320330 DO_IT (memset (pss, 0 , sizeof (*pss)));
321331 DO_IT (pss->fSepProcess = TRUE );
322332 ok (pb[28 ] == 0x01 || dump_pss (pss), " Unexpected pss ^\n " );
333+ #undef DO_IT
323334}
0 commit comments