mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-27 06:26:15 +01:00
Merge branch 'fix_cname' into 'master'
glib-compile-resources: Fixes #1675 Closes #1675 See merge request GNOME/glib!633
This commit is contained in:
commit
9aab30641e
@ -992,7 +992,7 @@ main (int argc, char **argv)
|
|||||||
{
|
{
|
||||||
const char *first = G_CSET_A_2_Z G_CSET_a_2_z "_";
|
const char *first = G_CSET_A_2_Z G_CSET_a_2_z "_";
|
||||||
const char *rest = G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "_";
|
const char *rest = G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "_";
|
||||||
if (strchr ((i == 0) ? first : rest, base[i]) != NULL)
|
if (strchr ((s->len == 0) ? first : rest, base[i]) != NULL)
|
||||||
g_string_append_c (s, base[i]);
|
g_string_append_c (s, base[i]);
|
||||||
else if (base[i] == '-')
|
else if (base[i] == '-')
|
||||||
g_string_append_c (s, '_');
|
g_string_append_c (s, '_');
|
||||||
|
6
gio/tests/111_digit_test.gresource.xml
Normal file
6
gio/tests/111_digit_test.gresource.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<gresources>
|
||||||
|
<gresource prefix="/digit_test">
|
||||||
|
<file>test1.txt</file>
|
||||||
|
</gresource>
|
||||||
|
</gresources>
|
@ -525,6 +525,27 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
|||||||
'--c-name', '_g_test1',
|
'--c-name', '_g_test1',
|
||||||
'@INPUT@'])
|
'@INPUT@'])
|
||||||
|
|
||||||
|
digit_test_resources_c = custom_target('digit_test_resources.c',
|
||||||
|
input : '111_digit_test.gresource.xml',
|
||||||
|
output : 'digit_test_resources.c',
|
||||||
|
command : [glib_compile_resources,
|
||||||
|
'--target=@OUTPUT@',
|
||||||
|
'--sourcedir=' + meson.current_source_dir(),
|
||||||
|
'--sourcedir=' + meson.current_build_dir(),
|
||||||
|
'--generate-source',
|
||||||
|
'--manual-register',
|
||||||
|
'@INPUT@'])
|
||||||
|
|
||||||
|
digit_test_resources_h = custom_target('digit_test_resources.h',
|
||||||
|
input : '111_digit_test.gresource.xml',
|
||||||
|
output : 'digit_test_resources.h',
|
||||||
|
command : [glib_compile_resources,
|
||||||
|
'--target=@OUTPUT@',
|
||||||
|
'--sourcedir=' + meson.current_source_dir(),
|
||||||
|
'--generate',
|
||||||
|
'--manual-register',
|
||||||
|
'@INPUT@'])
|
||||||
|
|
||||||
# referenced by test.gresource.xml
|
# referenced by test.gresource.xml
|
||||||
test_generated_txt = configure_file(input : 'test1.txt',
|
test_generated_txt = configure_file(input : 'test1.txt',
|
||||||
output : 'test-generated.txt',
|
output : 'test-generated.txt',
|
||||||
@ -581,14 +602,14 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
|
|||||||
'resources' : {
|
'resources' : {
|
||||||
'extra_sources' : [test_gresource, test_resources_c, test_resources2_c,
|
'extra_sources' : [test_gresource, test_resources_c, test_resources2_c,
|
||||||
test_resources2_h, test_resources_binary_c,
|
test_resources2_h, test_resources_binary_c,
|
||||||
test_resources_binary2],
|
test_resources_binary2, digit_test_resources_c, digit_test_resources_h],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
gio_tests += {
|
gio_tests += {
|
||||||
'resources' : {
|
'resources' : {
|
||||||
'extra_sources' : [test_gresource, test_resources_c, test_resources2_c,
|
'extra_sources' : [test_gresource, test_resources_c, test_resources2_c,
|
||||||
test_resources2_h],
|
test_resources2_h, digit_test_resources_c, digit_test_resources_h],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
endif
|
endif
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
#include "gconstructor.h"
|
#include "gconstructor.h"
|
||||||
#include "test_resources2.h"
|
#include "test_resources2.h"
|
||||||
|
#include "digit_test_resources.h"
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_resource (GResource *resource)
|
test_resource (GResource *resource)
|
||||||
@ -595,6 +596,38 @@ test_resource_binary_linked (void)
|
|||||||
#endif /* if __linux__ */
|
#endif /* if __linux__ */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Test resource whose xml file starts with more than one digit
|
||||||
|
* and where no explicit c-name is given
|
||||||
|
* Checks if resources are sucessfully registered and
|
||||||
|
* data can be found and read. */
|
||||||
|
static void
|
||||||
|
test_resource_digits (void)
|
||||||
|
{
|
||||||
|
GError *error = NULL;
|
||||||
|
gboolean found;
|
||||||
|
gsize size;
|
||||||
|
guint32 flags;
|
||||||
|
GBytes *data;
|
||||||
|
|
||||||
|
found = g_resources_get_info ("/digit_test/test1.txt",
|
||||||
|
G_RESOURCE_LOOKUP_FLAGS_NONE,
|
||||||
|
&size, &flags, &error);
|
||||||
|
g_assert_true (found);
|
||||||
|
g_assert_no_error (error);
|
||||||
|
g_assert_cmpint (size, ==, 6);
|
||||||
|
g_assert_cmpuint (flags, ==, 0);
|
||||||
|
|
||||||
|
data = g_resources_lookup_data ("/digit_test/test1.txt",
|
||||||
|
G_RESOURCE_LOOKUP_FLAGS_NONE,
|
||||||
|
&error);
|
||||||
|
g_assert_nonnull (data);
|
||||||
|
g_assert_no_error (error);
|
||||||
|
size = g_bytes_get_size (data);
|
||||||
|
g_assert_cmpint (size, ==, 6);
|
||||||
|
g_assert_cmpstr (g_bytes_get_data (data, NULL), ==, "test1\n");
|
||||||
|
g_bytes_unref (data);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_resource_module (void)
|
test_resource_module (void)
|
||||||
{
|
{
|
||||||
@ -930,6 +963,7 @@ main (int argc,
|
|||||||
g_test_init (&argc, &argv, NULL);
|
g_test_init (&argc, &argv, NULL);
|
||||||
|
|
||||||
_g_test2_register_resource ();
|
_g_test2_register_resource ();
|
||||||
|
_digit_test_register_resource ();
|
||||||
|
|
||||||
g_test_add_func ("/resource/file", test_resource_file);
|
g_test_add_func ("/resource/file", test_resource_file);
|
||||||
g_test_add_func ("/resource/file-path", test_resource_file_path);
|
g_test_add_func ("/resource/file-path", test_resource_file_path);
|
||||||
@ -950,6 +984,7 @@ main (int argc,
|
|||||||
g_test_add_func ("/resource/uri/file", test_uri_file);
|
g_test_add_func ("/resource/uri/file", test_uri_file);
|
||||||
g_test_add_func ("/resource/64k", test_resource_64k);
|
g_test_add_func ("/resource/64k", test_resource_64k);
|
||||||
g_test_add_func ("/resource/overlay", test_overlay);
|
g_test_add_func ("/resource/overlay", test_overlay);
|
||||||
|
g_test_add_func ("/resource/digits", test_resource_digits);
|
||||||
|
|
||||||
return g_test_run();
|
return g_test_run();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user