aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tests/abbr.err1
-rw-r--r--tests/abbr.in33
-rw-r--r--tests/abbr.out8
-rw-r--r--tests/abbr.status1
4 files changed, 43 insertions, 0 deletions
diff --git a/tests/abbr.err b/tests/abbr.err
new file mode 100644
index 00000000..904a0fd4
--- /dev/null
+++ b/tests/abbr.err
@@ -0,0 +1 @@
+abbr: no such abbreviation 'NOT_AN_ABBR'
diff --git a/tests/abbr.in b/tests/abbr.in
new file mode 100644
index 00000000..69fdfb38
--- /dev/null
+++ b/tests/abbr.in
@@ -0,0 +1,33 @@
+# Test basic add and list
+abbr __abbr1 alpha beta gamma
+abbr | grep __abbr1
+
+# Erasing one that doesn't exist should do nothing
+abbr --erase NOT_AN_ABBR
+abbr | grep __abbr1
+
+# Adding existing one should be idempotent
+abbr __abbr1 alpha beta gamma
+abbr | grep __abbr1
+
+# Replacing
+abbr __abbr1 delta
+abbr | grep __abbr1
+
+# -s and --show tests
+abbr -s | grep __abbr1
+abbr --show | grep __abbr1
+
+# Test erasing
+abbr -e __abbr1
+abbr | grep __abbr1
+
+# Ensure we escape special characters on output
+abbr '~__abbr2' '$xyz'
+abbr | grep __abbr2
+abbr -e '~__abbr2'
+
+# Ensure we handle leading dashes in abbreviation names properly
+abbr -- '--__abbr3' 'xyz'
+abbr | grep __abbr3
+abbr -e '--__abbr3'
diff --git a/tests/abbr.out b/tests/abbr.out
new file mode 100644
index 00000000..b0a9d5ad
--- /dev/null
+++ b/tests/abbr.out
@@ -0,0 +1,8 @@
+abbr __abbr1 'alpha beta gamma'
+abbr __abbr1 'alpha beta gamma'
+abbr __abbr1 'alpha beta gamma'
+abbr __abbr1 delta
+abbr __abbr1 delta
+abbr __abbr1 delta
+abbr '~__abbr2' '$xyz'
+abbr -- '--__abbr3' xyz
diff --git a/tests/abbr.status b/tests/abbr.status
new file mode 100644
index 00000000..573541ac
--- /dev/null
+++ b/tests/abbr.status
@@ -0,0 +1 @@
+0