Sha256: 0ce9247ff9abab11ee30f80eb81ff61c7f35dbe6cee3010840971a43785be29d

Contents?: true

Size: 1.09 KB

Versions: 7

Compression:

Stored size: 1.09 KB

Contents

require 'libuv'


describe Libuv::Idle do
	before :each do
		@log = []
		@general_failure = []

		@loop = Libuv::Loop.new
		@server = @loop.pipe
		@client = @loop.pipe
		@timeout = @loop.timer do
			@loop.stop
			@general_failure << "test timed out"
		end
		@timeout.start(5000)

		@loop.all(@server, @client, @timeout).catch do |reason|
			@general_failure << reason.inspect
			p "Failed with: #{reason.message}\n#{reason.backtrace.join("\n")}\n"
		end
	end
	
	it "should increase the idle count when there is nothing to process" do
		@loop.run { |logger|
			logger.progress do |level, errorid, error|
				begin
					p "Log called: #{level}: #{errorid}\n#{error.message}\n#{error.backtrace.join("\n")}\n"
				rescue Exception
					p 'error in logger'
				end
			end

			@idle_calls = 0
  
			idle = @loop.idle do |e|
				@idle_calls += 1
			end
			idle.start

			timer = @loop.timer proc {}
			timer.start(1, 0)

			stopper = @loop.timer do
				idle.close
				timer.close
				stopper.close
				@loop.stop
			end
			stopper.start(1000, 0)
		}

		@general_failure.should == []
		(@idle_calls > 0).should == true
	end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
libuv-0.11.5 spec/idle_spec.rb
libuv-0.11.3 spec/idle_spec.rb
libuv-0.11.2 spec/idle_spec.rb
libuv-0.11.1 spec/idle_spec.rb
libuv-0.11.0 spec/idle_spec.rb
libuv-0.10.3 spec/idle_spec.rb
libuv-0.10.2 spec/idle_spec.rb