diff .zfun/zsh-autosuggestions/spec/strategies/special_characters_helper.rb @ 467:e1ce8897030d

zsh: import df6f6f9ff41 of zsh-autosuggestions
author Augie Fackler <raf@durin42.com>
date Mon, 03 Dec 2018 22:37:29 -0500
parents
children
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/.zfun/zsh-autosuggestions/spec/strategies/special_characters_helper.rb
@@ -0,0 +1,62 @@
+shared_examples 'special characters' do
+  describe 'a special character in the buffer' do
+    it 'should be treated like any other character' do
+      with_history('echo "hello*"', 'echo "hello."') do
+        session.send_string('echo "hello*')
+        wait_for { session.content }.to eq('echo "hello*"')
+      end
+
+      with_history('echo "hello?"', 'echo "hello."') do
+        session.send_string('echo "hello?')
+        wait_for { session.content }.to eq('echo "hello?"')
+      end
+
+      with_history('echo "hello\nworld"') do
+        session.send_string('echo "hello\\')
+        wait_for { session.content }.to eq('echo "hello\nworld"')
+      end
+
+      with_history('echo "\\\\"') do
+        session.send_string('echo "\\\\')
+        wait_for { session.content }.to eq('echo "\\\\"')
+      end
+
+      with_history('echo ~/foo') do
+        session.send_string('echo ~')
+        wait_for { session.content }.to eq('echo ~/foo')
+      end
+
+      with_history('echo "$(ls foo)"') do
+        session.send_string('echo "$(')
+        wait_for { session.content }.to eq('echo "$(ls foo)"')
+      end
+
+      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
+
+      with_history('echo "#yolo"') do
+        session.send_string('echo "#')
+        wait_for { session.content }.to eq('echo "#yolo"')
+      end
+
+      with_history('echo "#foo"', 'echo $#abc') do
+        session.send_string('echo "#')
+        wait_for { session.content }.to eq('echo "#foo"')
+      end
+
+      with_history('echo "^A"', 'echo "^B"') do
+        session.send_string('echo "^A')
+        wait_for { session.content }.to eq('echo "^A"')
+      end
+
+      with_history('-foo() {}') do
+        session.send_string('-')
+        wait_for { session.content }.to eq('-foo() {}')
+      end
+    end
+  end
+end