Sha256: 3fe2403332eef94b627da2d49f8a2951aa47c061152eba7376e29db0befd4cb7

Contents?: true

Size: 1.7 KB

Versions: 7

Compression:

Stored size: 1.7 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe DRbQS::Setting::Manage do
  subject do
    DRbQS::Setting::Manage.new
  end

  context "when there are invalid arguments" do
    it "should raise error by an invalid mode." do
      subject.set_argument('first', 'second')
      lambda do
        subject.parse!
      end.should raise_error
    end

    it "should raise error by a value of invalid key." do
      subject.set(:invalid_key, 1, 2, 3)
      subject.set_argument('first')
      lambda do
        subject.parse!
      end.should raise_error
    end

    [['process', 'invalid_command'],
     ['send', 'invalid_type', 'uri', 'string']].each do |args|
      it "should raise error for #{args.inspect}." do
        subject.set_argument(*args)
        lambda do
          subject.parse!
        end.should raise_error
      end
    end
  end

  context "when parsing" do
    [['signal', 'uri', 'server-exit'],
     ['signal', 'uri', 'node-exit-after-task', '3'],
     ['signal', 'uri', 'node-wake', '4'],
     ['signal', 'uri', 'node-sleep', '5'],
     ['status', 'uri'],
     ['history', 'uri'],
     ['process', 'list'],
     ['process', 'clear'],
     ['send', 'string', 'uri', 'string'],
     ['send', 'file', 'uri', __FILE__],
     ['initialize']].each do |args|
      it "should not raise error for #{args.inspect}." do
        subject.set_argument(*args)
        lambda do
          subject.parse!
        end.should_not raise_error
      end

      it "should not change string for shell for #{args.inspect}." do
        subject.set_argument(*args)
        subject.parse!
        lambda do
          subject.parse!
        end.should_not change(subject, :string_for_shell)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
drbqs-0.1.1 spec/setting/manage_spec.rb
drbqs-0.1.0 spec/setting/manage_spec.rb
drbqs-0.0.19 spec/setting/manage_spec.rb
drbqs-0.0.18 spec/setting/manage_spec.rb
drbqs-0.0.17 spec/setting/manage_spec.rb
drbqs-0.0.16 spec/setting/manage_spec.rb
drbqs-0.0.15 spec/setting/manage_spec.rb