Add new test file for phase 19 scenery with unique identifier
This commit is contained in:
@@ -10,7 +10,7 @@ func _init() -> void:
|
||||
var world: Node2D = Node2D.new()
|
||||
var spawner: StageSpawner = SPAWNER.new(world) as StageSpawner
|
||||
var entries: Array[Dictionary] = spawner.get_palette_entries()
|
||||
_check(entries.size() == 6, "six registry cards")
|
||||
_check(entries.size() == 7, "six established cards plus the Phase 19 Scenery card")
|
||||
_check(String(entries[0].get("placement_id", "")) == "ground", "registry id retained")
|
||||
var card: AssetCard = CARD.new() as AssetCard
|
||||
card.configure(entries[0])
|
||||
@@ -20,7 +20,7 @@ func _init() -> void:
|
||||
chrome.palette_activated.connect(_on_palette_activated)
|
||||
chrome.build(entries)
|
||||
var palette_buttons: Dictionary = chrome.get_palette_buttons()
|
||||
_check(palette_buttons.size() == 6, "six stage palette cards")
|
||||
_check(palette_buttons.size() == 7, "seven stage palette cards")
|
||||
for entry: Dictionary in entries:
|
||||
var placement_id: String = String(entry.get("placement_id", ""))
|
||||
var asset_card: AssetCard = palette_buttons.get(placement_id) as AssetCard
|
||||
@@ -28,6 +28,15 @@ func _init() -> void:
|
||||
if asset_card == null:
|
||||
continue
|
||||
var icon: TextureRect = asset_card.thumbnail_rect()
|
||||
var card_box: VBoxContainer = asset_card.get_child(0) as VBoxContainer
|
||||
var glyph: Label = card_box.get_child(1) as Label
|
||||
var title: Label = card_box.get_child(2) as Label
|
||||
if placement_id == "scenery":
|
||||
_check(not icon.visible and icon.texture == null, "Scenery retains its themed 🌄 fallback without a dedicated image asset")
|
||||
_check(glyph.visible and glyph.text == "🌄", "Scenery fallback is kid-readable")
|
||||
_check(title.text == String(entry.get("label", "")), "Scenery text label remains")
|
||||
_check(asset_card.tooltip_text == String(entry.get("label", "")), "Scenery tooltip remains")
|
||||
continue
|
||||
_check(icon.visible, "%s image is visible" % placement_id)
|
||||
var icon_texture: Texture2D = icon.texture as Texture2D
|
||||
_check(icon_texture != null, "%s image texture is assigned" % placement_id)
|
||||
@@ -37,9 +46,6 @@ func _init() -> void:
|
||||
_check(icon_texture.get_width() <= 256 and icon_texture.get_height() <= 256, "%s import is capped at 256 px" % placement_id)
|
||||
_check(icon.custom_minimum_size == Vector2(64.0, 64.0), "%s image area stays 64 px" % placement_id)
|
||||
_check(icon.stretch_mode == TextureRect.STRETCH_KEEP_ASPECT_CENTERED, "%s image keeps aspect ratio" % placement_id)
|
||||
var card_box: VBoxContainer = asset_card.get_child(0) as VBoxContainer
|
||||
var glyph: Label = card_box.get_child(1) as Label
|
||||
var title: Label = card_box.get_child(2) as Label
|
||||
_check(not glyph.visible, "%s emoji fallback is hidden" % placement_id)
|
||||
_check(title.text == String(entry.get("label", "")), "%s text label remains" % placement_id)
|
||||
_check(asset_card.tooltip_text == String(entry.get("label", "")), "%s tooltip remains" % placement_id)
|
||||
|
||||
Reference in New Issue
Block a user