mirror of https://github.com/fdehau/tui-rs
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
4 years ago
|
# Contributing
|
||
|
|
||
|
[cargo-make]: https://github.com/sagiegurari/cargo-make "cargo-make"
|
||
|
|
||
|
`tui` is an ordinary Rust project where common tasks are managed with [cargo-make]. It wraps common
|
||
|
`cargo` commands with sane defaults depending on your platform of choice. Bulding the project should
|
||
|
be as easy as running `cargo make`.
|
||
|
|
||
|
## Continous Integration
|
||
|
|
||
|
We use Github Actions for the CI where we perform the following checks:
|
||
|
- The code should compile on `stable` and the Minimum Supported Rust Version (MSRV).
|
||
|
- The tests (docs, lib, tests and examples) should pass.
|
||
|
- The code should conform to the default format enforced by `rustfmt`.
|
||
|
- The code should not contain common style issues `clippy`.
|
||
|
|
||
|
You can also check most of those things yourself locally using `cargo make ci` which will offer you
|
||
|
a shorter feedback loop.
|
||
|
|
||
|
## Tests
|
||
|
|
||
|
The test coverage of the crate is far from being ideal but we already have a fair amount of tests in
|
||
|
place. Beside the usal doc and unit tests, one of the most valuable test you can write for `tui` is
|
||
|
a test again the `TestBackend` which allows you to assert the content of the output buffer that
|
||
|
would have been flushed to the termminal after a given draw call (see `widgets_block_renders` in
|
||
|
[tests/widgets_block.rs](./tests/widget_block.rs) for an example).
|