Sha256: f2c69ccfb6119d94208384aa280218c21e4dbc3eba453e5b3cea3d2171e3575e

Contents?: true

Size: 980 Bytes

Versions: 7

Compression:

Stored size: 980 Bytes

Contents

require 'spec_helper'
require 'cxxproject/ide_interface'
require 'cxxproject/utils/utils'
require 'cxxproject/errorparser/error_parser'

def check_long(e, l)
  e.next.should eq(l)
  e.next.should eq(0)
  e.next.should eq(0)
  e.next.should eq(0)
end
def check_string(e, s)
  s.bytes do |i|
    e.next.should eq(i)
  end
end

describe Cxxproject::IDEInterface do

  it 'should create a correct package from an error-array' do
    ide = Cxxproject::IDEInterface.new
    error = Cxxproject::ErrorDesc.new
    error.severity = 2
    error.line_number = 10
    error.file_name = 'filename'
    error.message = 'error'
    packet = ide.create_error_packet(error)
    
    if not Cxxproject::Utils.old_ruby? # in Ruby 1.8.6 there is no bytes methods...    
      e = packet.bytes
      e.next.should eq(1)
      check_long(e, 22)
      check_long(e, 8)
      check_string(e, 'filename')
      check_long(e, 10)
      e.next.should eq(2)
      check_string(e, 'error')
    end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cxxproject-0.6.5 spec/ide_interface_spec.rb
cxxproject-0.6.4 spec/ide_interface_spec.rb
cxxproject-0.6.2 spec/ide_interface_spec.rb
cxxproject-0.6.1 spec/ide_interface_spec.rb
cxxproject-0.6.0 spec/ide_interface_spec.rb
cxxproject-0.5.48 spec/ide_interface_spec.rb
cxxproject-0.5.47 spec/ide_interface_spec.rb