Implement 40250 classic client port
This commit is contained in:
@@ -14,11 +14,13 @@ class FakeClient extends Node:
|
||||
signal guild_changed()
|
||||
signal guild_skill_changed()
|
||||
signal guild_war_changed()
|
||||
signal guild_comments_changed()
|
||||
var guild := {"in_guild": true, "id": 77, "name": "Dragons", "level": 12,
|
||||
"member_count": 2, "max_member_count": 32, "gold": 5}
|
||||
var skill := {"valid": false}
|
||||
var wars := []
|
||||
var war := {"opp_guild_id": 0, "opp_name": "", "type": 0, "state": 0}
|
||||
var comments := []
|
||||
var calls := []
|
||||
func is_in_game() -> bool: return true
|
||||
func get_guild() -> Dictionary: return guild
|
||||
@@ -27,10 +29,17 @@ class FakeClient extends Node:
|
||||
func get_guild_skill() -> Dictionary: return skill
|
||||
func get_guild_wars() -> Array: return wars
|
||||
func get_guild_war() -> Dictionary: return war
|
||||
func get_guild_comments() -> Array: return comments
|
||||
func use_guild_skill(vnum: int, target: int) -> bool:
|
||||
calls.append(["use", vnum, target]); return true
|
||||
func declare_guild_war(name: String) -> bool:
|
||||
calls.append(["war", name]); return true
|
||||
func guild_post_comment(text: String) -> bool:
|
||||
calls.append(["post_comment", text]); return true
|
||||
func guild_refresh_comments() -> bool:
|
||||
calls.append(["refresh_comments"]); return true
|
||||
func guild_delete_comment(comment_id: int) -> bool:
|
||||
calls.append(["delete_comment", comment_id]); return true
|
||||
|
||||
var _fail := 0
|
||||
func _ck(c: bool, m: String) -> void:
|
||||
@@ -39,7 +48,7 @@ func _ck(c: bool, m: String) -> void:
|
||||
printerr("FAIL: " + m)
|
||||
|
||||
func _init() -> void:
|
||||
_run()
|
||||
await _run()
|
||||
if _fail == 0:
|
||||
print("PASS: guild_war_skill_test")
|
||||
quit(0)
|
||||
@@ -72,7 +81,7 @@ func _run() -> void:
|
||||
gu.setup(fc, canvas, tbl)
|
||||
gu.toggle()
|
||||
_ck(gu.is_open(), "公会窗打开")
|
||||
_ck(gu._pages.size() == 3, "3 页")
|
||||
_ck(gu._pages.size() == 4, "4 页(成员/技能/公会战/公告)")
|
||||
|
||||
# --- 技能页 ---
|
||||
gu._set_tab(1)
|
||||
@@ -108,3 +117,25 @@ func _run() -> void:
|
||||
var wt := _labels_text(gu._pages[2])
|
||||
_ck(wt.contains("对 Tigers") and wt.contains("交战中"), "公会战页:当前战状态")
|
||||
_ck(wt.contains("Dragons vs Tigers") and wt.contains("◀我方"), "公会战页:GvG 行 + 我方标记")
|
||||
|
||||
# --- 公告页 ---
|
||||
gu._set_tab(3)
|
||||
_ck(_labels_text(gu._pages[3]).contains("暂无公告"), "公告页:无数据提示")
|
||||
fc.comments = [{"id": 9, "name": "Alice", "content": "今晚攻城"}]
|
||||
fc.guild_comments_changed.emit()
|
||||
await process_frame
|
||||
var ct := _labels_text(gu._pages[3])
|
||||
_ck(ct.contains("Alice:今晚攻城"), "公告页:公告内容")
|
||||
var edits: Array = gu._pages[3].find_children("*", "LineEdit", true, false)
|
||||
_ck(edits.size() == 1, "公告页:输入框")
|
||||
if edits.size() == 1:
|
||||
edits[0].text = "明晚集合"
|
||||
_btn(gu._pages[3], "发布").pressed.emit()
|
||||
_ck(fc.calls[-1] == ["post_comment", "明晚集合"], "公告页:发布")
|
||||
_btn(gu._pages[3], "刷新").pressed.emit()
|
||||
_ck(fc.calls[-1] == ["refresh_comments"], "公告页:刷新")
|
||||
for b in gu._pages[3].find_children("*", "Button", true, false):
|
||||
if String(b.text) == "删":
|
||||
b.pressed.emit()
|
||||
break
|
||||
_ck(fc.calls[-1] == ["delete_comment", 9], "公告页:删除")
|
||||
|
||||
Reference in New Issue
Block a user