summaryrefslogtreecommitdiff
path: root/Tests/Terminal/test_OutputArea.gd
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/Terminal/test_OutputArea.gd')
-rw-r--r--Tests/Terminal/test_OutputArea.gd51
1 files changed, 51 insertions, 0 deletions
diff --git a/Tests/Terminal/test_OutputArea.gd b/Tests/Terminal/test_OutputArea.gd
new file mode 100644
index 0000000..88beddb
--- /dev/null
+++ b/Tests/Terminal/test_OutputArea.gd
@@ -0,0 +1,51 @@
+extends GutTest
+
+const Scene = preload('res://Scenes/Terminal/OutputArea.tscn')
+const GameOutput = preload('res://Scripts/Terminal/OutputArea.cs')
+
+var _instance: GameOutput = null
+
+func _get_line_container() -> VBoxContainer:
+ return _instance.get_node('%LineContainer') as VBoxContainer
+
+func after_each():
+ yield(yield_frames(1), YIELD)
+
+func before_each():
+ var scene = Scene.instance()
+ scene.OutputBlockScene = preload('res://Scenes/Terminal/OutputBlock.tscn')
+ _instance = add_child_autofree(scene)
+
+func after_all():
+ assert_no_new_orphans()
+
+func test_can_be_instantiated():
+ assert_not_null(_instance)
+
+func test_LineContainer_is_empty_after_instantiation():
+ assert_true(_get_line_container().get_children().empty())
+
+func test_TextBlocks_is_empty_after_instantiation():
+ assert_true(_instance.TextBlocks.empty())
+
+func test_LineContainer_is_not_empty_after_calling_Push_with_a_non_empty_string_as_text():
+ _instance.Push('this is some test data')
+ assert_false(_get_line_container().get_children().empty())
+
+func test_LineContainer_is_empty_after_calling_Push_with_an_empty_string_as_text():
+ _instance.Push('')
+ assert_true(_get_line_container().get_children().empty())
+
+func test_TextBlocks_is_not_empty_after_calling_Push_with_a_non_empty_string_as_text():
+ _instance.Push('this is some test data')
+ assert_false(_instance.TextBlocks.empty())
+
+func test_TextBlocks_is_empty_after_calling_Push_with_an_empty_string_as_text():
+ _instance.Push('')
+ assert_true(_instance.TextBlocks.empty())
+
+func test_TextBlocks_contains_all_pushed_texts_in_the_push_order():
+ var texts = ['text block a', 'text block b']
+ for text in texts:
+ _instance.Push(text)
+ assert_eq(_instance.TextBlocks, texts)