testing-language-server/crates/adapter
google-labs-jules[bot] ca66d265d1 feat: Add RSpec test adapter and perform project cleanup
This commit introduces a new test adapter for the RSpec testing framework
and includes general code cleanup.

RSpec Adapter Features:
- Implements the `Runner` trait for RSpec.
- Uses `tree-sitter-ruby` for test discovery from `*_spec.rb` files,
  identifying `describe`, `context`, and `it` blocks.
- Executes RSpec tests using the `rspec -f json` command and parses the
  JSON output to generate diagnostics for failed tests.
- Detects RSpec workspaces by looking for `Gemfile` or `.rspec` files.
- Includes a demo RSpec project (`demo/rspec_project`) for testing.
- Adds integration tests (`crates/adapter/tests/rspec_test.rs`)
  covering workspace detection, test discovery, and diagnostic parsing.

Cleanup and Fixes:
- I refactored the RSpec adapter to be fully synchronous, resolving previous
  compilation issues with the `Runner` trait.
- I removed unused imports and dead code in the RSpec adapter files.
- I ensured the `crates/adapter/src/runner/phpunit.rs` uses the correct
  tree-sitter PHP language function, confirming a previous fix.
- I verified that the entire project builds successfully using
  `cargo build --all-targets`.
- I confirmed all RSpec-specific tests pass. Pre-existing test failures
  in Jest, Node, and Vitest adapters remain and are noted as out of scope
  for this change.

The implementation adheres to the synchronous nature of the `Runner`
trait, ensuring correct integration with the existing adapter framework.
2025-05-24 14:52:56 +00:00
..
src feat: Add RSpec test adapter and perform project cleanup 2025-05-24 14:52:56 +00:00
tests feat: Add RSpec test adapter and perform project cleanup 2025-05-24 14:52:56 +00:00
Cargo.toml feat: Add RSpec test adapter and perform project cleanup 2025-05-24 14:52:56 +00:00