summaryrefslogtreecommitdiff
path: root/home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb
diff options
context:
space:
mode:
authorTyler Murphy <tylerm@tylerm.dev>2023-09-04 23:21:01 -0400
committerTyler Murphy <tylerm@tylerm.dev>2023-09-04 23:21:01 -0400
commitdb49f683129771d95828b01594c69431a717e8e8 (patch)
treed2cb1c0b865e4d81ce81f9a3176b8ad93a864950 /home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb
downloaddotfiles-guix-db49f683129771d95828b01594c69431a717e8e8.tar.gz
dotfiles-guix-db49f683129771d95828b01594c69431a717e8e8.tar.bz2
dotfiles-guix-db49f683129771d95828b01594c69431a717e8e8.zip
guix
Diffstat (limited to 'home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb')
-rw-r--r--home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb75
1 files changed, 75 insertions, 0 deletions
diff --git a/home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb b/home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb
new file mode 100644
index 0000000..eb1f0cd
--- /dev/null
+++ b/home-config/zsh/zsh-autosuggestions/spec/strategies/special_characters_helper.rb
@@ -0,0 +1,75 @@
+shared_examples 'special characters' do
+ describe 'a special character in the buffer should be treated like any other character' do
+ it 'asterisk' do
+ with_history('echo "hello*"', 'echo "hello."') do
+ session.send_string('echo "hello*')
+ wait_for { session.content }.to eq('echo "hello*"')
+ end
+ end
+
+ it 'question mark' do
+ with_history('echo "hello?"', 'echo "hello."') do
+ session.send_string('echo "hello?')
+ wait_for { session.content }.to eq('echo "hello?"')
+ end
+ end
+
+ it 'backslash' do
+ with_history('echo "hello\nworld"') do
+ session.send_string('echo "hello\\')
+ wait_for { session.content }.to eq('echo "hello\nworld"')
+ end
+ end
+
+ it 'double backslash' do
+ with_history('echo "\\\\"') do
+ session.send_string('echo "\\\\')
+ wait_for { session.content }.to eq('echo "\\\\"')
+ end
+ end
+
+ it 'tilde' do
+ with_history('echo ~/foo') do
+ session.send_string('echo ~')
+ wait_for { session.content }.to eq('echo ~/foo')
+ end
+ end
+
+ it 'parentheses' do
+ with_history('echo "$(ls foo)"') do
+ session.send_string('echo "$(')
+ wait_for { session.content }.to eq('echo "$(ls foo)"')
+ end
+ end
+
+ it 'square bracket' do
+ with_history('echo "$history[123]"') do
+ session.send_string('echo "$history[')
+ wait_for { session.content }.to eq('echo "$history[123]"')
+ session.send_string('123]')
+ wait_for { session.content }.to eq('echo "$history[123]"')
+ end
+ end
+
+ it 'octothorpe' do
+ with_history('echo "#yolo"') do
+ session.send_string('echo "#')
+ wait_for { session.content }.to eq('echo "#yolo"')
+ end
+ end
+
+ it 'caret' do
+ with_history('echo "^A"', 'echo "^B"') do
+ session.send_string('echo "^A')
+ wait_for { session.content }.to eq('echo "^A"')
+ end
+ end
+
+ it 'dash' do
+ with_history('-foo() {}') do
+ session.send_string('-')
+ wait_for { session.content }.to eq('-foo() {}')
+ end
+ end
+ end
+end