Sha256: 6194315f316a4aac23ef4538cb72d1f22af3c55768bd2848665a3d386b850636

Contents?: true

Size: 1.72 KB

Versions: 11

Compression:

Stored size: 1.72 KB

Contents

require 'spec_helper'

describe Net::NTLM::String do

  it_behaves_like 'a field', 'Foo', false

  let(:active) {
    Net::NTLM::String.new({
        :value  => 'Test',
        :active => true,
        :size   => 4
    })
  }

  let(:inactive) {
    Net::NTLM::String.new({
        :value  => 'Test',
        :active => false,
        :size   => 4
    })
  }

  context '#serialize' do
    it 'should return the value when active' do
      expect(active.serialize).to eq('Test')
    end

    it 'should return an empty string when inactive' do
      expect(inactive.serialize).to eq('')
    end

    it 'should coerce non-string values into strings' do
      active.value = 15
      expect(active.serialize).to eq('15')
    end

    it 'should return empty string on a nil' do
      active.value = nil
      expect(active.serialize).to eq('')
    end
  end

  context '#value=' do
    it 'should set active to false if it empty' do
      active.value = ''
      expect(active.active).to eq(false)
    end

    it 'should adjust the size based on the value set' do
      expect(active.size).to eq(4)
      active.value = 'Foobar'
      expect(active.size).to eq(6)
    end
  end

  context '#parse' do
    it 'should read in a string of the proper size' do
      expect(active.parse('tseT')).to eq(4)
      expect(active.value).to eq('tseT')
    end

    it 'should not read in a string that is too small' do
      expect(active.parse('B')).to eq(0)
      expect(active.value).to eq('Test')
    end

    it 'should be able to read from an offset and only for the given size' do
      expect(active.parse('FooBarBaz',3)).to eq(4)
      expect(active.value).to eq('BarB')
    end
  end
end

Version data entries

11 entries across 11 versions & 3 rubygems

Version Path
vagrant-unbundled-1.9.1.1 vendor/bundle/ruby/2.4.0/gems/rubyntlm-0.6.1/spec/lib/net/ntlm/string_spec.rb
vagrant-compose-yaml-0.1.3 vendor/bundle/ruby/2.2.0/gems/rubyntlm-0.6.0/spec/lib/net/ntlm/string_spec.rb
rubyntlm-0.6.1 spec/lib/net/ntlm/string_spec.rb
vagrant-compose-yaml-0.1.2 vendor/bundle/ruby/2.2.0/gems/rubyntlm-0.6.0/spec/lib/net/ntlm/string_spec.rb
vagrant-compose-yaml-0.1.1 vendor/bundle/ruby/2.2.0/gems/rubyntlm-0.6.0/spec/lib/net/ntlm/string_spec.rb
vagrant-compose-yaml-0.1.0 vendor/bundle/ruby/2.2.0/gems/rubyntlm-0.6.0/spec/lib/net/ntlm/string_spec.rb
vagrant-unbundled-1.8.5.2 vendor/bundle/ruby/2.3.0/gems/rubyntlm-0.6.0/spec/lib/net/ntlm/string_spec.rb
vagrant-unbundled-1.8.5.1 vendor/bundle/ruby/2.3.0/gems/rubyntlm-0.6.0/spec/lib/net/ntlm/string_spec.rb
vagrant-unbundled-1.8.4.2 vendor/bundle/ruby/2.3.0/gems/rubyntlm-0.6.0/spec/lib/net/ntlm/string_spec.rb
vagrant-unbundled-1.8.4.1 vendor/bundle/ruby/2.3.0/gems/rubyntlm-0.6.0/spec/lib/net/ntlm/string_spec.rb
rubyntlm-0.6.0 spec/lib/net/ntlm/string_spec.rb