Commit Graph

110 Commits

Author SHA1 Message Date
Alex Bramley 3183c9f177 Allow client-side ping to be disabled by setting PingFreq to zero. 2011-11-15 22:22:40 +00:00
Alex Bramley 8fa5e5624e Fix issues/9 by implementing a client-side ping loop. 2011-11-15 22:17:29 +00:00
Alex Bramley 907560b599 Migrate to split event pkg. 2011-11-13 14:07:19 +00:00
Alex Bramley 4e4c4b6798 Migrate to split logging pkg. 2011-11-13 14:02:12 +00:00
Alex Bramley f62470c091 Test rateLimit(). Move call to time.After to write() for ease of testing.
Complete test coverage! Well, for things that matter. I think.
2011-11-11 11:17:18 +00:00
Alex Bramley dbc9c5f09d Misc minor fixen. 2011-11-11 10:49:33 +00:00
Alex Bramley 6a54622df9 Make mockNetConn more likely to expose racy conditions.
Use buffered channels so that Close() returns without waiting.
Use an array of three channels rather than appending to a slice.
2011-11-11 10:48:58 +00:00
Alex Bramley dc524420b0 Test write(). Fix bug where return of Flush() was not checked. 2011-11-11 10:17:17 +00:00
Alex Bramley 19ea7138e5 Test runLoop(). Needed a lot of sleeps... 2011-11-11 09:23:12 +00:00
Alex Bramley 9ccb0a39ab Test recv(). 2011-11-11 08:35:23 +00:00
Alex Bramley 0d4e83ea7f Fix length bug in mockNetChan.
Using the length of the provided buffer is dangerous after the first buffered
read from it, as it'll be the length of the buffer size...
2011-11-11 08:34:55 +00:00
Alex Bramley 38cd23891a Streamline timers in mockNetConn slightly. 2011-11-11 08:00:18 +00:00
Alex Bramley bfdd895ca6 Test send(). 2011-11-11 07:59:16 +00:00
Alex Bramley d4aceddcd7 Test Client creation and ST enable/disable. 2011-11-10 15:06:44 +00:00
Alex Bramley a271cc06f3 Use mock dispatcher for testing event triggering. 2011-11-07 14:53:07 +00:00
Alex Bramley 3feaa7f302 Use a static map of event handlers for internal handlers too. 2011-11-07 13:44:03 +00:00
Alex Bramley aa75e0e0c6 Make enabling/disabling state-tracking easier. Improve constructors. 2011-11-07 13:34:13 +00:00
Alex Bramley 4853024928 Nuke extraneous makefiles, no longer needed. 2011-11-06 06:26:59 +00:00
Alex Bramley caa9429a74 Update README. 2011-11-06 05:22:02 +00:00
Alex Bramley 2bc8238f8e Move state-related handlers to their own file for clarity. 2011-11-06 05:11:49 +00:00
Alex Bramley 85097043cf Epic final commit for nick/chan/logging/testing refactor.
* Brings logging changes to client library.
* Brings state tracker to client library.
* Rewrites all tests to use mock logger and mock state tracker.
* Makes state tracking optional, finally.
* Shaves yaks until they are almost completely bald.
2011-11-06 04:56:46 +00:00
Alex Bramley f128ce84b4 Start of breaking out state tracking into separate package. 2011-10-08 10:42:15 +01:00
Alex Bramley a0020f4e62 Method to initialise tracker memory. 2011-10-08 10:40:58 +01:00
Alex Bramley d072abbb76 Give nicks an awareness of me. 2011-10-07 00:19:31 +01:00
Alex Bramley 7a17ee9eb5 State tracking refactor completer. 2011-10-06 23:54:34 +01:00
Alex Bramley e36caa3a3d Merge branch 'logging' into nickchan-refactor
Conflicts:
	client/nickchan.go

Fix up some inconsistencies in the beginning of the nickchan refactor too.
2011-10-06 22:33:06 +01:00
Alex Bramley 3e1b2c0f81 Turns out gofmt isn't big on spaces sometimes. 2011-09-29 22:58:04 +01:00
Alex Bramley de66051d07 Convert conn.Err into logging.
Also, remove all error-side-effect testing cos it was a bit shit.
First step on the long road to refactoring the nick/chan state tracking
and making everything more testable and mockable with interfaces.
2011-09-29 22:54:54 +01:00
Alex Bramley eb6ac4ce05 Tracking wip. 2011-09-28 20:48:58 +01:00
Alex Bramley c400a2141a Run gofmt over code, it's been a while. 2011-09-12 23:25:09 +01:00
Alex Bramley 18c20080e8 Test handler for 671 replies. 2011-09-12 23:21:40 +01:00
Alex Bramley b0e0be0fe3 Check all nicks against current channel contents for 353 handler. 2011-09-12 23:21:15 +01:00
Alex Bramley 6c1d345f0b Test handler for 353 replies. 2011-09-12 23:14:08 +01:00
Alex Bramley 9d896f2693 Test for 352 RPL_WHOREPLY. 2011-09-11 11:01:28 +01:00
Alex Bramley d4ae3b588d Test for 332 RPL_TOPIC. 2011-09-09 23:27:45 +01:00
Alex Bramley 4008b84db6 Test handler for 324 RPL_CHANNELMODEIS. 2011-09-09 23:24:08 +01:00
Alex Bramley 47ae014c1c Whitespace fix. 2011-09-09 23:04:27 +01:00
Alex Bramley 8ae5fe3b75 Another minor indexing bug :-/ 2011-09-09 23:04:12 +01:00
Alex Bramley ff855691cf Test the 311 RPL_WHOISUSER handler. 2011-09-09 23:03:44 +01:00
Alex Bramley daadb2c96e Test the TOPIC handler. 2011-09-09 23:02:33 +01:00
Alex Bramley d15d1074f5 Fix bug found by MODE handler test. 2011-09-09 22:33:08 +01:00
Alex Bramley c5146e93f6 Add MODE handler test. These are starting to feel clunky. 2011-09-09 22:32:55 +01:00
Alex Bramley df893eb6d0 QUIT handler test. 2011-08-31 22:55:56 +01:00
Alex Bramley b306650af5 Tests for the KICK handler. 2011-08-30 23:15:54 +01:00
Alex Bramley 788c69aaa8 Fix same logic bug in KICK handler. 2011-08-30 23:08:10 +01:00
Alex Bramley d74fd18d3d Fixed logic bug, but it's a bit ugly :-/ 2011-08-24 14:39:27 +01:00
Alex Bramley 4c0f62666d Test for h_PART -- exposed a logic bug :-/ 2011-08-24 14:34:11 +01:00
Alex Bramley 52e74b3f1a Rewrite JOIN handler test to avoid re-testing all the state tracking logic repeatedly. 2011-08-24 13:58:00 +01:00
Alex Bramley c5e13b8b12 Make NICK handler test a little more accurate. 2011-08-24 13:58:00 +01:00
Alex Bramley cf8ab830f7 Move some basic assertions about initial state into setUp(). 2011-08-24 13:58:00 +01:00