From 97c64d8114f5cb0cae40bd84fd09c2f845808433 Mon Sep 17 00:00:00 2001 From: mgi388 <135186256+mgi388@users.noreply.github.com> Date: Wed, 26 Feb 2025 11:14:05 +1100 Subject: [PATCH 1/5] feat: add test for construct using unit struct --- .../data/construct/construct_unit_struct.lua | 4 ++++ .../test_utils/src/test_data.rs | 23 ++++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua diff --git a/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua b/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua new file mode 100644 index 0000000000..4f574e75aa --- /dev/null +++ b/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua @@ -0,0 +1,4 @@ +local type = world.get_type_by_name("UnitStruct") +local constructed = construct(type, {}) + +assert(constructed ~= nil, "Value was not constructed") diff --git a/crates/testing_crates/test_utils/src/test_data.rs b/crates/testing_crates/test_utils/src/test_data.rs index 4f97c80a3b..9c7db42a6c 100644 --- a/crates/testing_crates/test_utils/src/test_data.rs +++ b/crates/testing_crates/test_utils/src/test_data.rs @@ -145,6 +145,16 @@ impl TestResourceWithVariousFields { } } +#[derive(Component, Reflect, PartialEq, Eq, Debug, Default)] +#[reflect(Component, Default)] +pub struct UnitStruct; + +impl UnitStruct { + pub fn init() -> Self { + Self + } +} + #[derive(Component, Reflect, PartialEq, Eq, Debug, Default)] #[reflect(Component, Default)] pub struct SimpleStruct { @@ -262,14 +272,15 @@ impl_test_component_ids!( CompWithDefault => 2, CompWithDefaultAndComponentData => 3, CompWithFromWorldAndComponentData => 4, - SimpleStruct => 5, - SimpleTupleStruct => 6, - SimpleEnum => 7, + UnitStruct => 5, + SimpleStruct => 6, + SimpleTupleStruct => 7, + SimpleEnum => 8, ], [ - TestResource => 8, - ResourceWithDefault => 9, - TestResourceWithVariousFields => 10, + TestResource => 9, + ResourceWithDefault => 10, + TestResourceWithVariousFields => 11, ] ); From 6fd8418f95eedc305b5ba1d17453e9cf154ea663 Mon Sep 17 00:00:00 2001 From: Maksymilian Mozolewski Date: Wed, 26 Feb 2025 08:19:35 +0000 Subject: [PATCH 2/5] adjust example for newly added feature --- .../tests/data/construct/construct_unit_struct.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua b/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua index 4f574e75aa..f2a054c1fd 100644 --- a/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua +++ b/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua @@ -1,4 +1,4 @@ local type = world.get_type_by_name("UnitStruct") -local constructed = construct(type, {}) +local constructed = construct(type, map({})) assert(constructed ~= nil, "Value was not constructed") From d3af6c15e1e742b6f14ac4bda818968880c164fa Mon Sep 17 00:00:00 2001 From: mgi388 <135186256+mgi388@users.noreply.github.com> Date: Wed, 26 Feb 2025 23:40:28 +1100 Subject: [PATCH 3/5] add rhai test --- .../tests/data/construct/unit_struct.rhai | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 crates/languages/bevy_mod_scripting_rhai/tests/data/construct/unit_struct.rhai diff --git a/crates/languages/bevy_mod_scripting_rhai/tests/data/construct/unit_struct.rhai b/crates/languages/bevy_mod_scripting_rhai/tests/data/construct/unit_struct.rhai new file mode 100644 index 0000000000..f0407f652d --- /dev/null +++ b/crates/languages/bevy_mod_scripting_rhai/tests/data/construct/unit_struct.rhai @@ -0,0 +1,2 @@ +let type = world.get_type_by_name.call("UnitStruct"); +let constructed = construct.call(type, map.call(#{})); From fda84b9a8d61449fbc9bcd46c79844ee211548ea Mon Sep 17 00:00:00 2001 From: Maksymilian Mozolewski Date: Wed, 26 Feb 2025 23:05:39 +0000 Subject: [PATCH 4/5] remove `map` call --- .../tests/data/construct/construct_unit_struct.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua b/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua index f2a054c1fd..4f574e75aa 100644 --- a/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua +++ b/crates/languages/bevy_mod_scripting_lua/tests/data/construct/construct_unit_struct.lua @@ -1,4 +1,4 @@ local type = world.get_type_by_name("UnitStruct") -local constructed = construct(type, map({})) +local constructed = construct(type, {}) assert(constructed ~= nil, "Value was not constructed") From 60015471d08b6e3b98b17f12868a60d60097bbea Mon Sep 17 00:00:00 2001 From: Maksymilian Mozolewski Date: Wed, 26 Feb 2025 23:06:05 +0000 Subject: [PATCH 5/5] remove `map` call --- .../tests/data/construct/unit_struct.rhai | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/languages/bevy_mod_scripting_rhai/tests/data/construct/unit_struct.rhai b/crates/languages/bevy_mod_scripting_rhai/tests/data/construct/unit_struct.rhai index f0407f652d..2b5840df44 100644 --- a/crates/languages/bevy_mod_scripting_rhai/tests/data/construct/unit_struct.rhai +++ b/crates/languages/bevy_mod_scripting_rhai/tests/data/construct/unit_struct.rhai @@ -1,2 +1,2 @@ let type = world.get_type_by_name.call("UnitStruct"); -let constructed = construct.call(type, map.call(#{})); +let constructed = construct.call(type, #{});