You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
[Core] Fix sharing of typed arrays from constructor
This commit is contained in:
@@ -597,6 +597,43 @@ TEST_CASE("[Array] Iteration and modification") {
|
||||
a4.clear();
|
||||
}
|
||||
|
||||
TEST_CASE("[Array] Typed copying") {
|
||||
TypedArray<int> a1;
|
||||
a1.push_back(1);
|
||||
|
||||
TypedArray<double> a2;
|
||||
a2.push_back(1.0);
|
||||
|
||||
Array a3 = a1;
|
||||
TypedArray<int> a4 = a3;
|
||||
|
||||
Array a5 = a2;
|
||||
TypedArray<int> a6 = a5;
|
||||
|
||||
a3[0] = 2;
|
||||
a4[0] = 3;
|
||||
|
||||
// Same typed TypedArray should be shared.
|
||||
CHECK_EQ(a1[0], Variant(3));
|
||||
CHECK_EQ(a3[0], Variant(3));
|
||||
CHECK_EQ(a4[0], Variant(3));
|
||||
|
||||
a5[0] = 2.0;
|
||||
a6[0] = 3.0;
|
||||
|
||||
// Different typed TypedArray should not be shared.
|
||||
CHECK_EQ(a2[0], Variant(2.0));
|
||||
CHECK_EQ(a5[0], Variant(2.0));
|
||||
CHECK_EQ(a6[0], Variant(3.0));
|
||||
|
||||
a1.clear();
|
||||
a2.clear();
|
||||
a3.clear();
|
||||
a4.clear();
|
||||
a5.clear();
|
||||
a6.clear();
|
||||
}
|
||||
|
||||
} // namespace TestArray
|
||||
|
||||
#endif // TEST_ARRAY_H
|
||||
|
||||
Reference in New Issue
Block a user