Sha256: 9fda0cee93242da236cfde1ded48d87f351f8a1d883dc35f001b2985eb8dbb6e

Contents?: true

Size: 1.13 KB

Versions: 22

Compression:

Stored size: 1.13 KB

Contents

require 'rails_helper'

module Kuroko2::Workflow
  describe ShellScanner do
    subject(:scanner) { ShellScanner.new(text) }

    describe '#strip_comment' do
      let(:text) { 'foo # bar' }

      it 'strips text after #' do
        expect(scanner.strip_comment).to eq('foo ')
      end

      context 'given nil' do
        let(:text) { nil }

        it 'returns nil' do
          expect(scanner.strip_comment).to eq(nil)
        end
      end

      context 'given string literal including #' do
        let(:text) { 'FOO="b\"ar#baz" # comment' }

        it 'preserves # in string literal' do
          expect(scanner.strip_comment).to eq('FOO="b\"ar#baz" ')
        end
      end

      context 'given string literal including # in single quotes' do
        let(:text) { %q[FOO='b\'ar#baz' # comment] }

        it 'preserves # in string literal' do
          expect(scanner.strip_comment).to eq(%q[FOO='b\'ar#baz' ])
        end
      end

      context 'given unmatched quote' do
        let(:text) { %q["' # foo] }

        it 'returns text until #' do
          expect(scanner.strip_comment).to eq(%q["' ])
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
kuroko2-0.8.0 spec/workflow/shell_scanner_spec.rb
kuroko2-0.7.0 spec/workflow/shell_scanner_spec.rb
kuroko2-0.6.0 spec/workflow/shell_scanner_spec.rb
kuroko2-0.5.2 spec/workflow/shell_scanner_spec.rb
kuroko2-0.5.1 spec/workflow/shell_scanner_spec.rb
kuroko2-0.5.0 spec/workflow/shell_scanner_spec.rb
kuroko2-0.4.6 spec/workflow/shell_scanner_spec.rb
kuroko2-0.4.5 spec/workflow/shell_scanner_spec.rb
kuroko2-0.4.4 spec/workflow/shell_scanner_spec.rb
kuroko2-0.4.3 spec/workflow/shell_scanner_spec.rb
kuroko2-0.4.2 spec/workflow/shell_scanner_spec.rb
kuroko2-0.4.1 spec/workflow/shell_scanner_spec.rb
kuroko2-0.4.0 spec/workflow/shell_scanner_spec.rb
kuroko2-0.3.4 spec/workflow/shell_scanner_spec.rb
kuroko2-0.3.3 spec/workflow/shell_scanner_spec.rb
kuroko2-0.3.2 spec/workflow/shell_scanner_spec.rb
kuroko2-0.3.1 spec/workflow/shell_scanner_spec.rb
kuroko2-0.3.0 spec/workflow/shell_scanner_spec.rb
kuroko2-0.2.3 spec/workflow/shell_scanner_spec.rb
kuroko2-0.2.2 spec/workflow/shell_scanner_spec.rb