/*
 * PROJECT:         ReactOS API tests
 * LICENSE:         LGPLv2.1+ - See COPYING.LIB in the top level directory
 * PURPOSE:         Test for SetBoundsRect
 * PROGRAMMERS:     Thomas Faber <thomas.faber@reactos.org
 */

#include "precomp.h"

START_TEST(SetBoundsRect)
{
    HDC hDC;
    UINT ret;
    DWORD error;

    hDC = CreateCompatibleDC(GetDC(NULL));
    if (hDC == NULL)
    {
        skip("No DC\n");
        return;
    }

    SetLastError(0xbeeffeed);
    ret = SetBoundsRect(hDC, NULL, 0);
    error = GetLastError();
    ok(ret == (DCB_DISABLE | DCB_RESET), "ret = %u\n", ret);
    ok(error == 0xbeeffeed, "error = %lu\n", error);

    SetLastError(0xbeeffeed);
    ret = SetBoundsRect(hDC, NULL, DCB_ACCUMULATE);
    error = GetLastError();
    ok(ret == (DCB_DISABLE | DCB_RESET), "ret = %u\n", ret);
    ok(error == 0xbeeffeed, "error = %lu\n", error);

    SetLastError(0xbeeffeed);
    ret = SetBoundsRect(hDC, NULL, DCB_DISABLE);
    error = GetLastError();
    ok(ret == (DCB_DISABLE | DCB_RESET), "ret = %u\n", ret);
    ok(error == 0xbeeffeed, "error = %lu\n", error);

    SetLastError(0xbeeffeed);
    ret = SetBoundsRect(hDC, NULL, DCB_ENABLE);
    error = GetLastError();
    ok(ret == (DCB_DISABLE | DCB_RESET), "ret = %u\n", ret);
    ok(error == 0xbeeffeed, "error = %lu\n", error);

    SetLastError(0xbeeffeed);
    ret = SetBoundsRect(hDC, NULL, DCB_RESET);
    error = GetLastError();
    ok(ret == (DCB_ENABLE | DCB_RESET), "ret = %u\n", ret);
    ok(error == 0xbeeffeed, "error = %lu\n", error);

    DeleteDC(hDC);
}
