diff --git a/spec/strategies/special_characters_helper.rb b/spec/strategies/special_characters_helper.rb index 8771861..eb1f0cd 100644 --- a/spec/strategies/special_characters_helper.rb +++ b/spec/strategies/special_characters_helper.rb @@ -1,58 +1,71 @@ shared_examples 'special characters' do - describe 'a special character in the buffer' do - it 'should be treated like any other character' 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 - with_history('echo "#foo"', 'echo $#abc') do - session.send_string('echo "#') - wait_for { session.content }.to eq('echo "#foo"') - 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() {}')