mirror of
https://github.com/vidarh/ruby-x11
synced 2024-12-25 09:59:00 +01:00
start adding tests
This commit is contained in:
parent
e94a3450fa
commit
93a15e6afa
3 changed files with 61 additions and 12 deletions
6
Rakefile
6
Rakefile
|
@ -1 +1,7 @@
|
|||
require "bundler/gem_tasks"
|
||||
require "rake/testtask"
|
||||
|
||||
Rake::TestTask.new do |t|
|
||||
t.test_files = FileList['test/*_test.rb']
|
||||
t.verbose = true
|
||||
end
|
||||
|
|
|
@ -1,18 +1,11 @@
|
|||
require 'rubygems'
|
||||
require 'bundler'
|
||||
begin
|
||||
Bundler.setup(:default, :development)
|
||||
rescue Bundler::BundlerError => e
|
||||
$stderr.puts e.message
|
||||
$stderr.puts "Run `bundle install` to install missing gems"
|
||||
exit e.status_code
|
||||
end
|
||||
require 'test/unit'
|
||||
require 'shoulda'
|
||||
|
||||
require 'minitest/spec'
|
||||
require 'minitest/autorun'
|
||||
|
||||
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
||||
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
||||
require 'X11'
|
||||
|
||||
class Test::Unit::TestCase
|
||||
end
|
||||
require 'X11'
|
||||
|
|
50
test/packet_test.rb
Normal file
50
test/packet_test.rb
Normal file
|
@ -0,0 +1,50 @@
|
|||
require File.expand_path('../helper', __FILE__)
|
||||
|
||||
class MockSocket
|
||||
def initialize(packet)
|
||||
@packet = packet
|
||||
end
|
||||
|
||||
def read(amount)
|
||||
@packet.slice!(0..amount-1)
|
||||
end
|
||||
end
|
||||
|
||||
class Child < X11::Packet::BasePacket
|
||||
field :name, Uint16, :length
|
||||
field :name, String8, :string
|
||||
end
|
||||
|
||||
class Parent < X11::Packet::BasePacket
|
||||
field :a, Uint8
|
||||
field :b, Uint16
|
||||
field :c, Uint32
|
||||
|
||||
field :d, Uint16, :length
|
||||
field :d, String8, :string
|
||||
|
||||
field :children, Uint16, :length
|
||||
field :children, Child, :list
|
||||
end
|
||||
|
||||
describe X11::Packet::BasePacket do
|
||||
it "should create and read a packet" do
|
||||
children = []
|
||||
children << Child.create("#1")
|
||||
children << Child.create("#2")
|
||||
children << Child.create("#3")
|
||||
|
||||
packet = Parent.create(1,2,3,"Hello World", children)
|
||||
socket = MockSocket.new(packet)
|
||||
reader = Parent.read(socket)
|
||||
|
||||
reader.a.must_equal 1
|
||||
reader.b.must_equal 2
|
||||
reader.c.must_equal 3
|
||||
reader.d.must_equal "Hello World"
|
||||
|
||||
reader.children.shift.name.must_equal("#1")
|
||||
reader.children.shift.name.must_equal("#2")
|
||||
reader.children.shift.name.must_equal("#3")
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue