diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b685ee6f0d58063e53ab63c8e817f5fdd9f95a14..8126d21df975e4d5fe2f052c4165b2f0216f8b12 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,7 +45,7 @@ variables: DEPS: | git build-essential ca-certificates meson curl rustup meson libgtk-4-dev libadwaita-1-dev libglib2.0-dev gettext - patchelf desktop-file-utils + patchelf desktop-file-utils xauth xvfb GIT_SUBMODULE_STRATEGY: recursive .common_before_script: &common_before_script @@ -74,6 +74,13 @@ build-lib: - meson install -C _build - meson test -C _build +test: + stage: test+docs + needs: [build] + <<: *common_before_script + script: + - CARGO_HOME=_build/cargo PFS_RESOURCE_DIR=$PWD/_build/src xvfb-run cargo test + check-po: stage: test+docs extends: .phosh-check-po diff --git a/tests/api.rs b/tests/api.rs new file mode 100644 index 0000000000000000000000000000000000000000..39f4b48457e891c04914fe84b26fcbc207f32e57 --- /dev/null +++ b/tests/api.rs @@ -0,0 +1,23 @@ +use gtk::prelude::*; +use gtk::{gio, glib}; + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_new() { + assert_eq!(gtk::init().is_ok(), true); + pfs::init::init(); + + let file_selector = glib::Object::builder::() + .property("accept_label", "Done") + .property("title", "Select a File") + .property("current-folder", gio::File::for_path("/tmp")) + .build(); + + assert_eq!(file_selector.selected_choices().is_none(), true); + assert_eq!(file_selector.current_folder().is_some(), true); + assert_eq!(file_selector.current_folder().unwrap().uri(), "file:///tmp"); + } +}