Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,8 @@ experiments/mitm/captures/
experiments/mitm/reports/
experiments/mitm/golden/
__pycache__/

# Credentials & Local Environment
.env
*.pem
*.key
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions crates/aksh-gha-expressions/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -709,6 +709,27 @@ mod tests {
);
}

#[test]
fn handles_escaped_single_quotes_in_literals() {
let context = Context::default();
assert_eq!(
eval_expression("'It''s a string'", &context).unwrap(),
Value::String("It's a string".to_owned())
);
assert_eq!(
eval_expression("''", &context).unwrap(),
Value::String("".to_owned())
);
assert_eq!(
eval_expression("''''", &context).unwrap(),
Value::String("'".to_owned())
);
assert_eq!(
eval_expression("'a''b''c'", &context).unwrap(),
Value::String("a'b'c".to_owned())
);
}

proptest! {
#[test]
fn string_equality_is_case_insensitive(value in "[A-Za-z]{1,24}") {
Expand Down
2 changes: 2 additions & 0 deletions crates/aksh-runner-server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ serde.workspace = true
serde_json.workspace = true
hmac.workspace = true
sha2.workspace = true
rand.workspace = true
reqwest.workspace = true
thiserror.workspace = true
tokio.workspace = true
tokio-util.workspace = true
Expand Down
Loading
Loading