extends GdUnitTestSuite ## ListRow: text, alternating backgrounds and wrapping. func _background(list_row: ListRow) -> Color: return (list_row.get_theme_stylebox("panel") as StyleBoxFlat).bg_color ## Adds [param list_row] to the tree, where it gets its look from the project theme. func _shown(list_row: ListRow) -> ListRow: add_child(auto_free(list_row)) return list_row func test_row_shows_text() -> void: var list_row: ListRow = auto_free(ListRow.create("Chrono Trigger", 0, &"TextLarge")) assert_str(list_row.text).is_equal("Chrono Trigger") func test_neighbouring_rows_have_different_backgrounds() -> void: var first: ListRow = _shown(ListRow.create("Chrono Trigger", 0, &"TextLarge")) var second: ListRow = _shown(ListRow.create("Chrono Cross", 1, &"TextLarge")) var third: ListRow = _shown(ListRow.create("Xenogears", 2, &"TextLarge")) assert_that(_background(first)).is_not_equal(_background(second)) assert_that(_background(first)).is_equal(_background(third)) func test_long_text_wraps() -> void: var list_row: ListRow = auto_free( ListRow.create("Castlevania: Symphony of the Night", 0, &"TextLarge")) assert_int(list_row.label.autowrap_mode).is_equal(TextServer.AUTOWRAP_WORD_SMART)