mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-06-04 10:57:40 +00:00
Simplified SDL_SetProperty() and added SDL_SetPropertyWithCleanup()
Most of the time people won't need to set a cleanup callback, so we can simplify the more commonly used API.
This commit is contained in:
parent
a1941fad6c
commit
aea6e6de6f
16 changed files with 61 additions and 34 deletions
|
@ -1498,7 +1498,7 @@ static int video_getSetWindowData(void *arg)
|
|||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
|
||||
/* Set data */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s)", name, userdata);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
|
||||
|
@ -1514,7 +1514,7 @@ static int video_getSetWindowData(void *arg)
|
|||
|
||||
/* Set data again twice */
|
||||
for (iteration = 1; iteration <= 2; iteration++) {
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s) [iteration %d]", name, userdata, iteration);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
|
||||
|
@ -1527,14 +1527,14 @@ static int video_getSetWindowData(void *arg)
|
|||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
|
||||
/* Set data with new data */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata2, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata2);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s) [new userdata]", name, userdata2);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceUserdata2, userdata2) == 0, "Validate that userdata2 was not changed, expected: %s, got: %s", referenceUserdata2, userdata2);
|
||||
|
||||
/* Set data with new data again */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata2, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata2);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s) [new userdata again]", name, userdata2);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
|
||||
|
@ -1547,14 +1547,14 @@ static int video_getSetWindowData(void *arg)
|
|||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
|
||||
/* Set data with NULL to clear */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, NULL, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, NULL);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,NULL)", name);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceUserdata2, userdata2) == 0, "Validate that userdata2 was not changed, expected: %s, got: %s", referenceUserdata2, userdata2);
|
||||
|
||||
/* Set data with NULL to clear again */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, NULL, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, NULL);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,NULL) [again]", name);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
|
||||
|
@ -1573,7 +1573,7 @@ static int video_getSetWindowData(void *arg)
|
|||
SDLTest_AssertCheck(SDL_strcmp(referenceName2, name2) == 0, "Validate that name2 was not changed, expected: %s, got: %s", referenceName2, name2);
|
||||
|
||||
/* Set data (again) */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), name, userdata);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(...%s,%s) [again, after clear]", name, userdata);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
SDLTest_AssertCheck(SDL_strcmp(referenceUserdata, userdata) == 0, "Validate that userdata was not changed, expected: %s, got: %s", referenceUserdata, userdata);
|
||||
|
@ -1585,22 +1585,22 @@ static int video_getSetWindowData(void *arg)
|
|||
SDLTest_AssertCheck(SDL_strcmp(referenceName, name) == 0, "Validate that name was not changed, expected: %s, got: %s", referenceName, name);
|
||||
|
||||
/* Set data with NULL name, valid userdata */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), NULL, userdata, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), NULL, userdata);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(name=NULL)");
|
||||
checkInvalidParameterError();
|
||||
|
||||
/* Set data with empty name, valid userdata */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), "", userdata, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), "", userdata);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(name='')");
|
||||
checkInvalidParameterError();
|
||||
|
||||
/* Set data with NULL name, NULL userdata */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), NULL, NULL, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), NULL, NULL);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(name=NULL,userdata=NULL)");
|
||||
checkInvalidParameterError();
|
||||
|
||||
/* Set data with empty name, NULL userdata */
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), "", NULL, NULL, NULL);
|
||||
SDL_SetProperty(SDL_GetWindowProperties(window), "", NULL);
|
||||
SDLTest_AssertPass("Call to SDL_SetWindowData(name='',userdata=NULL)");
|
||||
checkInvalidParameterError();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue