| require 'test/unit' | |
| require 'dbgp/CaptureManager' | |
| require 'dbgp/ThreadManager' | |
| require 'dbgp/StreamPacket' | |
| require 'test/MockDebugger' | |
| require 'test/FakeParams' | |
| require 'test/SimpleServer' | |
| module XoredDebugger | |
| class CaptureManagerTest < Test::Unit::TestCase | |
| def setup | |
| XoredDebugger::SimpleServer.start | |
| end | |
| def teardown() | |
| XoredDebugger::SimpleServer.stop | |
| assert(!SimpleServer.started?) | |
| end | |
| def test_capture | |
| assert(SimpleServer.started?) | |
| #create debugger | |
| debugger = MockDebugger.new | |
| thread_manager = ThreadManager.new(debugger) | |
| capture_manager = thread_manager.capture_manager | |
| # flush received data | |
| SimpleServer.received | |
| # make some output | |
| ping = 'helllooo...' | |
| $stdout.write(ping) | |
| $stderr.write(ping) | |
| # terminating | |
| thread_manager.terminate | |
| debugger.terminate | |
| actual = SimpleServer.received | |
| stdout_ping = StreamPacket.new('stdout',ping).to_xml | |
| stderr_ping = StreamPacket.new('stderr',ping).to_xml | |
| assert(actual.index(stderr_ping) != nil) | |
| assert(actual.index(stdout_ping) != nil) | |
| assert_equal('', SimpleServer.received) | |
| end | |
| end | |
| end |