40 lines
1.2 KiB
GDScript
40 lines
1.2 KiB
GDScript
extends SceneTree
|
|
|
|
const Controller = preload("res://p9_10/runtime_controller.gd")
|
|
const Fixture = preload("res://tests/p9_10/runtime_fixture.gd")
|
|
|
|
var failures: Array[String] = []
|
|
|
|
|
|
func _initialize() -> void:
|
|
call_deferred("run_test")
|
|
|
|
|
|
func run_test() -> void:
|
|
root.size = Vector2i(844, 390)
|
|
var experience = Controller.new()
|
|
experience.persistence_enabled = false
|
|
experience.battle_auto_advance = false
|
|
experience.size = Vector2(844, 390)
|
|
experience.configure_entry(Fixture.p99_market_four())
|
|
root.add_child(experience)
|
|
for _index in 6:
|
|
await process_frame
|
|
expect(experience.market != null and experience.market.state.current_market == 4, "exact P9.9 Market 4 enters P9.10")
|
|
expect(experience.find_child("P910MarketTitle", true, false) != null, "P9.10 Market world renders")
|
|
experience.queue_free()
|
|
for _index in 45:
|
|
await process_frame
|
|
if failures.is_empty():
|
|
print("ABG_P9_10_RUNTIME_CONTROLLER_COMPILE_OK entry=p99_market4 controller=exclusive market_world=true")
|
|
quit(0)
|
|
else:
|
|
for failure in failures:
|
|
push_error(failure)
|
|
quit(1)
|
|
|
|
|
|
func expect(condition: bool, message: String) -> void:
|
|
if not condition:
|
|
failures.append("P9.10 runtime compile: %s" % message)
|