Skip to content

Commit eef8a6a

Browse files
committed
Test cases for @export_file on arrays + packed arrays
1 parent 2f670db commit eef8a6a

File tree

3 files changed

+48
-5
lines changed

3 files changed

+48
-5
lines changed

.github/workflows/release-version.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ env:
2020
# Crates to publish -- important, this doesn't work when there are spaces in any of the paths!
2121
# Keep in sync with update-version.sh
2222
GDEXT_CRATES: >
23+
godot-bindings
24+
godot-codegen
2325
godot-macros
2426
godot-ffi
2527
godot-cell

itest/rust/build.rs

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -471,18 +471,44 @@ fn generate_property_template(inputs: &[Input]) -> PropertyTests {
471471
pub struct PropertyTestsRust {
472472
#(#rust,)*
473473

474+
// All the @export_file/dir variants, with GString, Array<GString> and PackedStringArray.
474475
#[export(file)]
475476
export_file: GString,
477+
#[export(file)]
478+
export_file_array: Array<GString>,
479+
#[export(file)]
480+
export_file_parray: PackedStringArray,
481+
#[export(file = "*.txt")]
482+
export_file_wildcard: GString,
483+
#[export(file = "*.txt")]
484+
export_file_wildcard_array: Array<GString>,
476485
#[export(file = "*.txt")]
477-
export_file_wildcard_txt: GString,
486+
export_file_wildcard_parray: PackedStringArray,
478487
#[export(global_file)]
479488
export_global_file: GString,
489+
#[export(global_file)]
490+
export_global_file_array: Array<GString>,
491+
#[export(global_file)]
492+
export_global_file_parray: PackedStringArray,
493+
#[export(global_file = "*.png")]
494+
export_global_file_wildcard: GString,
480495
#[export(global_file = "*.png")]
481-
export_global_file_wildcard_png: GString,
496+
export_global_file_wildcard_array: Array<GString>,
497+
#[export(global_file = "*.png")]
498+
export_global_file_wildcard_parray: PackedStringArray,
482499
#[export(dir)]
483500
export_dir: GString,
501+
#[export(dir)]
502+
export_dir_array: Array<GString>,
503+
#[export(dir)]
504+
export_dir_parray: PackedStringArray,
484505
#[export(global_dir)]
485506
export_global_dir: GString,
507+
#[export(global_dir)]
508+
export_global_dir_array: Array<GString>,
509+
#[export(global_dir)]
510+
export_global_dir_parray: PackedStringArray,
511+
486512
#[export(multiline)]
487513
export_multiline: GString,
488514
#[export(range = (0.0, 20.0))]
@@ -526,11 +552,24 @@ fn generate_property_template(inputs: &[Input]) -> PropertyTests {
526552
r#"
527553
{}
528554
@export_file var export_file: String
529-
@export_file("*.txt") var export_file_wildcard_txt: String
555+
@export_file var export_file_array: Array[String]
556+
@export_file var export_file_parray: PackedStringArray
557+
@export_file("*.txt") var export_file_wildcard: String
558+
@export_file("*.txt") var export_file_wildcard_array: Array[String]
559+
@export_file("*.txt") var export_file_wildcard_parray: PackedStringArray
530560
@export_global_file var export_global_file: String
531-
@export_global_file("*.png") var export_global_file_wildcard_png: String
561+
@export_global_file var export_global_file_array: Array[String]
562+
@export_global_file var export_global_file_parray: PackedStringArray
563+
@export_global_file("*.png") var export_global_file_wildcard: String
564+
@export_global_file("*.png") var export_global_file_wildcard_array: Array[String]
565+
@export_global_file("*.png") var export_global_file_wildcard_parray: PackedStringArray
532566
@export_dir var export_dir: String
567+
@export_dir var export_dir_array: Array[String]
568+
@export_dir var export_dir_parray: PackedStringArray
533569
@export_global_dir var export_global_dir: String
570+
@export_global_dir var export_global_dir_array: Array[String]
571+
@export_global_dir var export_global_dir_parray: PackedStringArray
572+
534573
@export_multiline var export_multiline: String
535574
@export_range(0, 20) var export_range_float_0_20: float
536575
@export_range(-10, 20, 0.2) var export_range_float_neg10_20_02: float

itest/rust/src/object_tests/property_template_test.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use crate::framework::TestContext;
2121

2222
use crate::register_tests::gen_ffi::PropertyTestsRust;
2323

24-
#[itest]
24+
#[itest(focus)]
2525
fn property_template_test(ctx: &TestContext) {
2626
let rust_properties = PropertyTestsRust::new_alloc();
2727
let gdscript_properties = ctx.property_tests.clone();
@@ -92,6 +92,8 @@ fn property_template_test(ctx: &TestContext) {
9292
errors.push(format!(
9393
"mismatch in property {name}:\n GDScript: {gdscript_prop:?}\n Rust: {rust_prop:?}"
9494
));
95+
} else {
96+
println!("matching property {name}\n GDScript: {gdscript_prop:?}\n Rust: {rust_prop:?}");
9597
}
9698
}
9799

0 commit comments

Comments
 (0)