diff --git a/justfile b/justfile index fca8719..9b78d17 100644 --- a/justfile +++ b/justfile @@ -12,3 +12,7 @@ build: test: eask compile eask emacs --batch -L . -L test -l test/all-tests.el -f ert-run-tests-batch-and-exit + +test-one TEST_NAME: + eask compile + eask emacs --batch -L . -L test -l test/all-tests.el -eval '(ert-run-tests-batch-and-exit "{{TEST_NAME}}")' diff --git a/test/rustic-babel-test.el b/test/rustic-babel-test.el index 43d75b5..7676314 100644 --- a/test/rustic-babel-test.el +++ b/test/rustic-babel-test.el @@ -295,4 +295,23 @@ (rustic-test-babel-execute-block buf) (should (string-equal (rustic-test-babel-check-results buf) "[[\"A\", \"B\"], [\"C\", \"D\"]]\n"))))) +(ert-deftest rustic-test-babel-block-with-paths () + (let* ((current-test-dir (or (and load-file-name (file-name-directory load-file-name)) + (and buffer-file-name (file-name-directory buffer-file-name)) + default-directory)) ; Fallback to `default-directory` + (string "use foo; + use bar; + fn main() { + foo::foo(); + bar::bar(); + }") + (params (format ":paths '((foo . \"%s/test-project/crates/foo\") (bar . \"%s/test-project/crates/bar\")) :crates '((foo . 0.0.1) (bar . 0.0.1))" + (expand-file-name "test" current-test-dir) + (expand-file-name "test" current-test-dir))) + (buf (rustic-test-get-babel-block string params))) + (with-current-buffer buf + (rustic-test-babel-execute-block buf) + (should (eq (rustic-test-babel-check-results buf) nil))))) + + (provide 'rustic-babel-test) diff --git a/test/test-project/Cargo.lock b/test/test-project/Cargo.lock index ffb0638..c4b8c0c 100644 --- a/test/test-project/Cargo.lock +++ b/test/test-project/Cargo.lock @@ -1,11 +1,15 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "another-test-crate" version = "0.0.1" +[[package]] +name = "bar" +version = "0.0.1" + [[package]] name = "depend-on-test-crate" version = "0.0.1" @@ -13,6 +17,10 @@ dependencies = [ "test-crate", ] +[[package]] +name = "foo" +version = "0.0.1" + [[package]] name = "test-crate" version = "0.0.1" diff --git a/test/test-project/crates/bar/Cargo.toml b/test/test-project/crates/bar/Cargo.toml new file mode 100644 index 0000000..3d03a67 --- /dev/null +++ b/test/test-project/crates/bar/Cargo.toml @@ -0,0 +1,3 @@ +[package] +name = "bar" +version = "0.0.1" diff --git a/test/test-project/crates/bar/src/lib.rs b/test/test-project/crates/bar/src/lib.rs new file mode 100644 index 0000000..9966d9c --- /dev/null +++ b/test/test-project/crates/bar/src/lib.rs @@ -0,0 +1,3 @@ +pub fn bar() { + () +} diff --git a/test/test-project/crates/foo/Cargo.toml b/test/test-project/crates/foo/Cargo.toml new file mode 100644 index 0000000..87cba03 --- /dev/null +++ b/test/test-project/crates/foo/Cargo.toml @@ -0,0 +1,3 @@ +[package] +name = "foo" +version = "0.0.1" diff --git a/test/test-project/crates/foo/src/lib.rs b/test/test-project/crates/foo/src/lib.rs new file mode 100644 index 0000000..939da0e --- /dev/null +++ b/test/test-project/crates/foo/src/lib.rs @@ -0,0 +1,3 @@ +pub fn foo() { + () +}