Files
FlexLove/testing/__tests__
Michael Freno d5f85e82d1 tests
2025-09-18 18:27:57 -04:00
..
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00
2025-09-18 18:27:57 -04:00

FlexLove GUI Library Test Suite

This directory contains comprehensive tests for the FlexLove GUI library. The tests cover layout behavior, property management, animations, and utility functions.

Test Files

  1. 01_absolute_positioning.lua

    • Basic absolute positioning
    • Parent-child relationships
    • Coordinate system tests
  2. 02_flex_direction.lua

    • Horizontal flex layout
    • Vertical flex layout
    • Mixed direction layouts
  3. 03_vertical_flex_direction.lua

    • Vertical layout specifics
    • Column-based layouts
    • Vertical alignment
  4. 04_justify_content.lua

    • Flex-start alignment
    • Flex-end alignment
    • Space-between distribution
    • Space-around distribution
  5. 05_align_items.lua

    • Cross-axis alignment
    • Stretch behavior
    • Baseline alignment
  6. 06_flex_wrap.lua

    • Wrapping behavior
    • Multi-line layouts
    • Wrap alignment
  7. 07_layout_validation.lua

    • Edge cases
    • Nested containers
    • Deep hierarchies
  8. 08_performance.lua

    • Large element counts
    • Deep hierarchies
    • Dynamic updates
    • Rapid resizing
  9. 09_element_properties.lua

    • Basic properties
    • Custom properties
    • Property modification
    • Visibility and clipping
  10. 10_animation_and_transform.lua

    • Basic transformations
    • Animation tweening
    • Easing functions
    • Animation cancellation
  11. 11_auxiliary_functions.lua

    • Element queries
    • Debug utilities
    • Layout helpers
    • Utility functions

Running Tests

Run All Tests

cd /path/to/station_alpha
for f in game/libs/testing/__tests__/flexlove/*.lua; do lua "$f"; done

Run Specific Test File

cd /path/to/station_alpha
lua game/libs/testing/__tests__/flexlove/[test_file].lua

Test Structure

Each test file follows this general structure:

package.path = package.path .. ";/path/to/station_alpha/?.lua"

local luaunit = require('game/libs/testing/luaunit')
require('game/libs/testing/loveStub')
local FlexLove = require('game/libs/FlexLove')

TestClassName = {}

function TestClassName:setUp()
    self.GUI = FlexLove.GUI
end

function TestClassName:testFeature()
    -- Test implementation
end

os.exit(luaunit.LuaUnit.run())

Known Issues

  1. Layout Calculations

    • Some justify-content calculations need verification
    • Align-items behavior needs adjustment
    • Flex-wrap positioning requires fixes
  2. Missing Methods

    • Animation and transform methods not implemented
    • Some utility functions not available
    • Custom property support incomplete
  3. Performance

    • Resize calculations may need optimization
    • Deep hierarchy performance could be improved

Contributing

When adding new tests:

  1. Follow the existing naming convention
  2. Add proper type annotations
  3. Include nil checks for optional features
  4. Document expected behavior
  5. Add the test to this README

Dependencies

  • Lua 5.1+ / LuaJIT
  • LÖVE2D (for graphics features)
  • luaunit (testing framework)