reinstalling GDUnit from assetlib
Some checks failed
Create tag and build when new code gets to main / Export (push) Failing after 6m41s
Some checks failed
Create tag and build when new code gets to main / Export (push) Failing after 6m41s
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
## A class representing a globally unique identifier for GdUnit test elements.
|
||||
## Uses random values to generate unique identifiers that can be used
|
||||
## to track and reference test cases and suites across the test framework.
|
||||
class_name GdUnitGUID
|
||||
extends RefCounted
|
||||
|
||||
|
||||
## The internal string representation of the GUID.
|
||||
## Generated using Godot's ResourceUID system when no existing GUID is provided.
|
||||
var _guid: String
|
||||
|
||||
|
||||
## Creates a new GUID instance.
|
||||
## If no GUID is provided, generates a new one using Godot's ResourceUID system.
|
||||
func _init(from_guid: String = "") -> void:
|
||||
if from_guid.is_empty():
|
||||
_guid = _generate_guid()
|
||||
else:
|
||||
_guid = from_guid
|
||||
|
||||
|
||||
## Compares this GUID with another for equality.
|
||||
## Returns true if both GUIDs represent the same unique identifier.
|
||||
func equals(other: GdUnitGUID) -> bool:
|
||||
return other._guid == _guid
|
||||
|
||||
|
||||
## Generates a custom GUID using random bytes.[br]
|
||||
## The format uses 16 random bytes encoded to hex and formatted with hyphens.
|
||||
static func _generate_guid() -> String:
|
||||
# Pre-allocate array with exact size needed
|
||||
var bytes := PackedByteArray()
|
||||
bytes.resize(16)
|
||||
|
||||
# Fill with random bytes
|
||||
for i in range(16):
|
||||
bytes[i] = randi() % 256
|
||||
|
||||
bytes[6] = (bytes[6] & 0x0f) | 0x40
|
||||
bytes[8] = (bytes[8] & 0x3f) | 0x80
|
||||
|
||||
return bytes.hex_encode().insert(8, "-").insert(16, "-").insert(24, "-")
|
||||
|
||||
|
||||
func _to_string() -> String:
|
||||
return _guid
|
||||
|
||||
Reference in New Issue
Block a user