diff --git a/src/tests/builtins.rs b/src/tests/builtins.rs index f9240bb..b7af3eb 100644 --- a/src/tests/builtins.rs +++ b/src/tests/builtins.rs @@ -488,8 +488,44 @@ mod import { #[test] fn eval() { assert_eq!( - eval_ok("(builtins.import ./flake.nix).description"), - Value::Str("A reimplementation or nix in Rust.".into()) + eval_ok("(builtins.import ./src/tests/import_tests/basic.nix).data"), + Value::Str("imported!".into()) + ); + } + + #[test] + fn eval_same_folder_import() { + assert_eq!( + eval_ok("(builtins.import ./src/tests/import_tests/same-folder-import.nix).dataPath"), + Value::Str("imported!".into()) + ); + assert_eq!( + eval_ok("(builtins.import ./src/tests/import_tests/same-folder-import.nix).dataString"), + Value::Str("imported!".into()) + ); + } + + #[test] + fn eval_child_folder_import() { + assert_eq!( + eval_ok("(builtins.import ./src/tests/import_tests/child-folder-import.nix).dataPath"), + Value::Str("imported!".into()) + ); + assert_eq!( + eval_ok("(builtins.import ./src/tests/import_tests/child-folder-import.nix).dataString"), + Value::Str("imported!".into()) + ); + } + + #[test] + fn eval_parent_folder_import() { + assert_eq!( + eval_ok("(builtins.import ./src/tests/import_tests/nested/parent-folder-import.nix).dataPath"), + Value::Str("imported!".into()) + ); + assert_eq!( + eval_ok("(builtins.import ./src/tests/import_tests/nested/parent-folder-import.nix).dataString"), + Value::Str("imported!".into()) ); } diff --git a/src/tests/import_tests/basic.nix b/src/tests/import_tests/basic.nix new file mode 100644 index 0000000..55c15c7 --- /dev/null +++ b/src/tests/import_tests/basic.nix @@ -0,0 +1,3 @@ +{ + data = "imported!"; +} diff --git a/src/tests/import_tests/child-folder-import.nix b/src/tests/import_tests/child-folder-import.nix new file mode 100644 index 0000000..2498956 --- /dev/null +++ b/src/tests/import_tests/child-folder-import.nix @@ -0,0 +1,4 @@ +{ + dataPath = (builtins.import ./nested/basic.nix).data; + dataString = (builtins.import "./nested/basic.nix").data; +} diff --git a/src/tests/import_tests/nested/basic.nix b/src/tests/import_tests/nested/basic.nix new file mode 100644 index 0000000..55c15c7 --- /dev/null +++ b/src/tests/import_tests/nested/basic.nix @@ -0,0 +1,3 @@ +{ + data = "imported!"; +} diff --git a/src/tests/import_tests/nested/parent-folder-import.nix b/src/tests/import_tests/nested/parent-folder-import.nix new file mode 100644 index 0000000..307758c --- /dev/null +++ b/src/tests/import_tests/nested/parent-folder-import.nix @@ -0,0 +1,4 @@ +{ + dataPath = (builtins.import ../basic.nix).data; + dataString = (builtins.import "../basic.nix").data; +} diff --git a/src/tests/import_tests/same-folder-import.nix b/src/tests/import_tests/same-folder-import.nix new file mode 100644 index 0000000..9852e66 --- /dev/null +++ b/src/tests/import_tests/same-folder-import.nix @@ -0,0 +1,4 @@ +{ + dataPath = (builtins.import ./basic.nix).data; + dataString = (builtins.import "./basic.nix").data; +}