Test application for crystal bindings.
This commit is contained in:
parent
0356540e7b
commit
0a836c56cd
46
zig-impl/crystal/some-crystal-app/src/test-app.cr
Normal file
46
zig-impl/crystal/some-crystal-app/src/test-app.cr
Normal file
@ -0,0 +1,46 @@
|
||||
require "./some-crystal-app.cr"
|
||||
|
||||
def test_high_level
|
||||
ipc = IPC.new
|
||||
fd = ipc.connect("pong")
|
||||
ipc.write(fd, "hello this is some value")
|
||||
event = ipc.wait()
|
||||
|
||||
m = event.message
|
||||
if m.nil?
|
||||
puts "No message"
|
||||
else
|
||||
pp! String.new(m.to_unsafe, m.size)
|
||||
end
|
||||
end
|
||||
|
||||
def test_loop
|
||||
ipc = IPC.new
|
||||
fd = ipc.connect("pong")
|
||||
ipc.schedule(fd, "hello this is some value")
|
||||
ipc.loop do |event|
|
||||
case event.type
|
||||
when LibIPC::EventType::MessageRx
|
||||
m = event.message
|
||||
if m.nil?
|
||||
puts "No message"
|
||||
else
|
||||
pp! String.new(m.to_unsafe, m.size)
|
||||
end
|
||||
exit 0
|
||||
when LibIPC::EventType::MessageTx
|
||||
puts "A message has been sent"
|
||||
else
|
||||
puts "Unexpected: #{event.type}"
|
||||
exit 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# TODO: Write documentation for `Some::Crystal::App`
|
||||
module Some::Crystal::App
|
||||
VERSION = "0.1.0"
|
||||
|
||||
test_high_level
|
||||
test_loop
|
||||
end
|
Reference in New Issue
Block a user