From: Anton Baskanov baskanov@gmail.com
--- dlls/dplayx/tests/dplayx.c | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
diff --git a/dlls/dplayx/tests/dplayx.c b/dlls/dplayx/tests/dplayx.c index dcf0e4f2c4d..acb46b13718 100644 --- a/dlls/dplayx/tests/dplayx.c +++ b/dlls/dplayx/tests/dplayx.c @@ -2021,6 +2021,10 @@ static BOOL CALLBACK checkPlayerListCallback( DPID dpid, DWORD playerType, const { BYTE playerData[ 256 ]; DWORD playerDataSize; + BYTE nameData[ 256 ]; + DWORD nameDataSize; + char *shortName; + char *longName; HRESULT hr;
if ( player->actualCount ) @@ -2058,6 +2062,49 @@ static BOOL CALLBACK checkPlayerListCallback( DPID dpid, DWORD playerType, const ok_( __FILE__, data->line )( !memcmp( playerData, player->expectedPlayerData, player->expectedPlayerDataSize ), "player data doesn't match.\n" );
+ memset( &nameData, 0xcc, sizeof( nameData ) ); + nameDataSize = sizeof( nameData ); + hr = IDirectPlayX_GetPlayerName( data->dp, dpid, &nameData, &nameDataSize ); + ok_( __FILE__, data->line )( hr == DP_OK, "GetPlayerName() returned %#lx.\n", hr ); + todo_wine ok_( __FILE__, data->line )( ((DPNAME *) nameData)->dwSize == sizeof( DPNAME ), + "got name size %lu.\n", ((DPNAME *) nameData)->dwSize ); + todo_wine ok_( __FILE__, data->line )( !((DPNAME *) nameData)->dwFlags, "got name flags %#lx.\n", + ((DPNAME *) nameData)->dwFlags ); + shortName = ((DPNAME *) nameData)->lpszShortNameA; + if ( player->expectedShortName ) + { + if ( (char *) nameData <= shortName && shortName < (char *) nameData + nameDataSize ) + { + ok_( __FILE__, data->line )( shortName && !strcmp( shortName, player->expectedShortName ), + "got short name %s.\n", wine_dbgstr_a( shortName ) ); + } + else + { + todo_wine ok_( __FILE__, data->line)( 0, "got short name %p.\n", shortName ); + } + } + else + { + ok_( __FILE__, data->line )( !shortName, "got short name %s.\n", wine_dbgstr_a( shortName ) ); + } + longName = ((DPNAME *) nameData)->lpszLongNameA; + if ( player->expectedLongName ) + { + if ( (char *) nameData <= longName && longName < (char *) nameData + nameDataSize ) + { + ok_( __FILE__, data->line )( longName && !strcmp( longName, player->expectedLongName ), + "got long name %s.\n", wine_dbgstr_a( longName ) ); + } + else + { + todo_wine ok_( __FILE__, data->line)( 0, "got long name %p.\n", longName ); + } + } + else + { + ok_( __FILE__, data->line )( !longName, "got long name %s.\n", wine_dbgstr_a( longName ) ); + } + ++player->actualCount; ++data->actualPlayerCount;