Move unique_filename_from_url functions to common
This commit is contained in:
@@ -330,6 +330,83 @@ strip_quotes_strips_both(void** state)
|
||||
free(result);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char* url;
|
||||
char* path;
|
||||
char* filename;
|
||||
} unique_filename_from_url_t;
|
||||
|
||||
void
|
||||
unique_filename_from_url_td(void** state)
|
||||
{
|
||||
enum table { num_tests = 11 };
|
||||
|
||||
unique_filename_from_url_t tests[num_tests] = {
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test/image.jpeg",
|
||||
.path = "./",
|
||||
.filename = "./image.jpeg",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test/image.jpeg#somefragment",
|
||||
.path = "./",
|
||||
.filename = "./image.jpeg",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test/image.jpeg?query=param",
|
||||
.path = "./",
|
||||
.filename = "./image.jpeg",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test/image.jpeg?query=param&another=one",
|
||||
.path = "./",
|
||||
.filename = "./image.jpeg",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test/images/",
|
||||
.path = "./",
|
||||
.filename = "./images",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test/images/../../file",
|
||||
.path = "./",
|
||||
.filename = "./file",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test/images/../../file/..",
|
||||
.path = "./",
|
||||
.filename = "./index.html",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test/images/..//",
|
||||
.path = "./",
|
||||
.filename = "./index.html",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test/",
|
||||
.path = "./",
|
||||
.filename = "./index.html",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "https://host.test",
|
||||
.path = "./",
|
||||
.filename = "./index.html",
|
||||
},
|
||||
(unique_filename_from_url_t){
|
||||
.url = "aesgcm://host.test",
|
||||
.path = "./",
|
||||
.filename = "./index.html",
|
||||
},
|
||||
};
|
||||
|
||||
char* filename;
|
||||
for (int i = 0; i < num_tests; i++) {
|
||||
filename = unique_filename_from_url(tests[i].url, tests[i].path);
|
||||
assert_string_equal(filename, tests[i].filename);
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
_lists_equal(GSList* a, GSList* b)
|
||||
{
|
||||
|
||||
@@ -31,3 +31,4 @@ void strip_quotes_strips_last(void** state);
|
||||
void strip_quotes_strips_both(void** state);
|
||||
void prof_partial_occurrences_tests(void** state);
|
||||
void prof_whole_occurrences_tests(void** state);
|
||||
void unique_filename_from_url_td(void** state);
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
#include <setjmp.h>
|
||||
#include <cmocka.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <glib.h>
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "tools/http_common.c"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char* url;
|
||||
char* basename;
|
||||
} url_test_t;
|
||||
|
||||
void
|
||||
http_basename_from_url_td(void** state)
|
||||
{
|
||||
int num_tests = 11;
|
||||
url_test_t tests[] = {
|
||||
(url_test_t){
|
||||
.url = "https://host.test/image.jpeg",
|
||||
.basename = "image.jpeg",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "https://host.test/image.jpeg#somefragment",
|
||||
.basename = "image.jpeg",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "https://host.test/image.jpeg?query=param",
|
||||
.basename = "image.jpeg",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "https://host.test/image.jpeg?query=param&another=one",
|
||||
.basename = "image.jpeg",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "https://host.test/images/",
|
||||
.basename = "images",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "https://host.test/images/../../file",
|
||||
.basename = "file",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "https://host.test/images/../../file/..",
|
||||
.basename = "index.html",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "https://host.test/images/..//",
|
||||
.basename = "index.html",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "https://host.test/",
|
||||
.basename = "index.html",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "https://host.test",
|
||||
.basename = "index.html",
|
||||
},
|
||||
(url_test_t){
|
||||
.url = "aesgcm://host.test",
|
||||
.basename = "index.html",
|
||||
},
|
||||
};
|
||||
|
||||
char* basename;
|
||||
for (int i = 0; i < num_tests; i++) {
|
||||
basename = http_basename_from_url(tests[i].url);
|
||||
assert_string_equal(basename, tests[i].basename);
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
void http_basename_from_url_td(void** state);
|
||||
@@ -18,4 +18,13 @@ typedef struct http_download_t
|
||||
int cancel;
|
||||
} HTTPDownload;
|
||||
|
||||
void*
|
||||
http_file_get(void* userdata)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void http_download_cancel_processes(){};
|
||||
void http_download_add_download(){};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
#include "test_form.h"
|
||||
#include "test_callbacks.h"
|
||||
#include "test_plugins_disco.h"
|
||||
#include "test_http_common.h"
|
||||
|
||||
int
|
||||
main(int argc, char* argv[])
|
||||
@@ -91,6 +90,7 @@ main(int argc, char* argv[])
|
||||
unit_test(strip_quotes_strips_first),
|
||||
unit_test(strip_quotes_strips_last),
|
||||
unit_test(strip_quotes_strips_both),
|
||||
unit_test(unique_filename_from_url_td),
|
||||
|
||||
unit_test(clear_empty),
|
||||
unit_test(reset_after_create),
|
||||
@@ -627,8 +627,6 @@ main(int argc, char* argv[])
|
||||
unit_test(does_not_add_duplicate_feature),
|
||||
unit_test(removes_plugin_features),
|
||||
unit_test(does_not_remove_feature_when_more_than_one_reference),
|
||||
|
||||
unit_test(http_basename_from_url_td),
|
||||
};
|
||||
|
||||
return run_tests(all_tests);
|
||||
|
||||
Reference in New Issue
Block a user