just/tests
2023-12-29 03:06:48 +00:00
..
completions Inline setup and cleanup functions in completion script test (#1352) 2022-09-23 20:54:18 -07:00
allow_duplicate_recipes.rs
assert_stdout.rs
assert_success.rs
assignment.rs
attributes.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
byte_order_mark.rs Stabilize !include path as import 'path' (#1771) 2023-12-20 12:31:51 +08:00
changelog.rs
choose.rs Pass justfile path to default chooser (#1759) 2023-12-14 00:48:40 +00:00
command.rs Allow setting echoed recipe line color (#1670) 2023-10-11 00:04:34 +00:00
completions.rs
conditional.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
confirm.rs Add [confirm] attribute (#1723) 2023-11-16 23:51:34 +00:00
delimiters.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
dotenv.rs Add dotenv-filename and dotenv-path settings (#1692) 2023-10-12 05:04:46 +00:00
edit.rs Clean up error display (#1699) 2023-10-16 20:18:25 -07:00
equals.rs
error_messages.rs Stabilize !include path as import 'path' (#1771) 2023-12-20 12:31:51 +08:00
evaluate.rs Add / operator (#1237) 2022-06-25 09:39:06 +00:00
examples.rs
export.rs Add dotenv-load setting (#778) 2021-03-28 22:38:07 -07:00
fallback.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
fmt.rs Clean up error display (#1699) 2023-10-16 20:18:25 -07:00
functions.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
ignore_comments.rs
imports.rs Expand tilde in import and module paths (#1792) 2023-12-29 02:08:02 +00:00
init.rs
interrupts.rs
invocation_directory.rs Downgrade to TLS 1.2 in install script (#1536) 2023-01-27 02:49:03 +00:00
json.rs Add modules (#1782) 2023-12-28 04:27:15 +00:00
lib.rs Print submodule recipes in --summary (#1794) 2023-12-29 03:06:48 +00:00
line_prefixes.rs
misc.rs Print submodule recipes in --summary (#1794) 2023-12-29 03:06:48 +00:00
modules.rs Expand tilde in import and module paths (#1792) 2023-12-29 02:08:02 +00:00
multibyte_char.rs
newline_escape.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
no_cd.rs
no_exit_message.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
os_attributes.rs
parser.rs
positional_arguments.rs Pass evaluated arguments as positional arguments (#810) 2021-05-02 10:25:43 +00:00
private.rs Stabilize fallback (#1471) 2023-01-04 06:31:56 +00:00
quiet.rs Print submodule recipes in --summary (#1794) 2023-12-29 03:06:48 +00:00
quote.rs
readme.rs
recursion_limit.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
regexes.rs
run.rs
search_arguments.rs
search.rs Misc fixes (#1700) 2023-10-17 03:07:09 +00:00
shadowing_parameters.rs Allow recipe parameters to shadow variables (#1480) 2023-01-10 00:59:02 +00:00
shebang.rs Run recipes with working directory set to submodule directory (#1788) 2023-12-29 00:55:36 +00:00
shell.rs Misc fixes (#1700) 2023-10-17 03:07:09 +00:00
show.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
slash_operator.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
string.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
subsequents.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
summary.rs Print submodule recipes in --summary (#1794) 2023-12-29 03:06:48 +00:00
tempdir.rs Misc fixes (#1700) 2023-10-17 03:07:09 +00:00
test.rs Add semver_matches function (#1713) 2023-10-27 20:07:46 +00:00
undefined_variables.rs Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
unstable.rs
windows_shell.rs
working_directory.rs

use super::*;

#[test]
fn readme() {
  let mut justfiles = vec![];
  let mut current = None;

  for line in fs::read_to_string("README.md").unwrap().lines() {
    if let Some(mut justfile) = current {
      if line == "```" {
        justfiles.push(justfile);
        current = None;
      } else {
        justfile += line;
        justfile += "\n";
        current = Some(justfile);
      }
    } else if line == "```just" {
      current = Some(String::new());
    }
  }

  for justfile in justfiles {
    let tmp = tempdir();

    let path = tmp.path().join("justfile");

    fs::write(path, justfile).unwrap();

    let output = Command::new(executable_path("just"))
      .current_dir(tmp.path())
      .arg("--dump")
      .output()
      .unwrap();

    assert_success(&output);
  }
}