70 lines
1.6 KiB
C
70 lines
1.6 KiB
C
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <memory.h>
|
|
#include <stdlib.h>
|
|
#include <winpr/winpr.h>
|
|
#include "winpr/wlog.h"
|
|
|
|
#include "../clipboard.h"
|
|
|
|
#define WINPR_TAG(tag) "com.winpr." tag
|
|
#define TAG WINPR_TAG("clipboard.posix")
|
|
|
|
int TestUri(int argc, char* argv[])
|
|
{
|
|
int nRet = 0;
|
|
const char* input[] = { /*uri, file or nullptr*/
|
|
"file://root/a.txt",
|
|
nullptr,
|
|
"file:a.txt",
|
|
nullptr,
|
|
"file:///c:/windows/a.txt",
|
|
"c:/windows/a.txt",
|
|
"file:c:/windows/a.txt",
|
|
"c:/windows/a.txt",
|
|
"file:c|/windows/a.txt",
|
|
"c:/windows/a.txt",
|
|
"file:///root/a.txt",
|
|
"/root/a.txt",
|
|
"file:/root/a.txt",
|
|
"/root/a.txt"
|
|
};
|
|
|
|
const size_t nLen = ARRAYSIZE(input);
|
|
|
|
WINPR_UNUSED(argc);
|
|
WINPR_UNUSED(argv);
|
|
|
|
printf("input length:%" PRIuz "\n", nLen / 2);
|
|
|
|
for (size_t i = 0; i < nLen; i += 2)
|
|
{
|
|
const char* in = input[i];
|
|
const char* cmp = input[i + 1];
|
|
int bTest = 0;
|
|
char* name = parse_uri_to_local_file(in, strlen(in));
|
|
if (name && cmp)
|
|
{
|
|
bTest = !strcmp(name, cmp);
|
|
if (!bTest)
|
|
{
|
|
printf("Test error: input: %s; Expected value: %s; output: %s\n", in, cmp, name);
|
|
nRet++;
|
|
}
|
|
free(name);
|
|
}
|
|
else
|
|
{
|
|
if (cmp)
|
|
{
|
|
printf("Test error: input: %s; Expected value: %s; output: %s\n", in, cmp, name);
|
|
nRet++;
|
|
}
|
|
}
|
|
}
|
|
|
|
printf("TestUri return value: %d\n", nRet);
|
|
return nRet;
|
|
}
|