summaryrefslogtreecommitdiff
path: root/test/rb
diff options
context:
space:
mode:
authorKevin Clark <kclark@apache.org>2008-06-18 00:50:00 +0000
committerKevin Clark <kclark@apache.org>2008-06-18 00:50:00 +0000
commita37d90e6cb0dae3a588a339d9529d93e07fdf8a0 (patch)
tree804d9877139f740603e5dcd32c3aaee6d16f9dda /test/rb
parent104584ee7fcda914d08526f50eedd02ee374b7f8 (diff)
downloadthrift-a37d90e6cb0dae3a588a339d9529d93e07fdf8a0.tar.gz
Add tests for Ruby TTransport. Only require .rb files in ruby tests.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@668892 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/rb')
-rw-r--r--test/rb/core/test_exceptions.rb11
-rw-r--r--test/rb/core/transport/test_ttransport.rb55
-rw-r--r--test/rb/test_suite.rb2
3 files changed, 67 insertions, 1 deletions
diff --git a/test/rb/core/test_exceptions.rb b/test/rb/core/test_exceptions.rb
new file mode 100644
index 000000000..eb63963be
--- /dev/null
+++ b/test/rb/core/test_exceptions.rb
@@ -0,0 +1,11 @@
+require File.join(File.dirname(__FILE__), '../test_helper')
+
+require 'thrift/thrift'
+
+class TestTException < Test::Unit::TestCase
+ def test_has_accessible_message
+ msg = "hi there thrift"
+ assert_equal msg, TException.new(msg).message
+ end
+end
+
diff --git a/test/rb/core/transport/test_ttransport.rb b/test/rb/core/transport/test_ttransport.rb
new file mode 100644
index 000000000..5811dece8
--- /dev/null
+++ b/test/rb/core/transport/test_ttransport.rb
@@ -0,0 +1,55 @@
+require File.join(File.dirname(__FILE__), '../../test_helper')
+
+require 'thrift/transport/ttransport'
+
+class DummyTransport < TTransport
+ def initialize(data)
+ @data = data
+ end
+
+ def read(size)
+ @data.slice!(0, size)
+ end
+end
+
+# TTransport is basically an abstract class, but isn't raising NotImplementedError
+class TestTTransport < Test::Unit::TestCase
+ def setup
+ @trans = TTransport.new
+ end
+
+ def test_isOpen
+ assert_nil @trans.isOpen
+ end
+
+ def test_open
+ assert_nil @trans.open
+ end
+
+ def test_close
+ assert_nil @trans.close
+ end
+
+ def test_read
+ assert_nil @trans.read(100) # arbitrary size
+ end
+
+ # TODO:
+ # This doesn't necessarily test he right thing.
+ # It _looks_ like read isn't guarenteed to return the length
+ # you ask for and readAll is. This means our test needs to check
+ # for blocking. -- Kevin Clark 3/27/08
+ def test_readAll
+ # Implements read
+ t = DummyTransport.new("hello")
+ assert_equal "hello", t.readAll(5)
+ end
+
+ def test_write
+ assert_nil @trans.write(5) # arbitrary value
+ end
+
+ def test_flush
+ assert_nil @trans.flush
+ end
+end \ No newline at end of file
diff --git a/test/rb/test_suite.rb b/test/rb/test_suite.rb
index 42febdab7..af686a82d 100644
--- a/test/rb/test_suite.rb
+++ b/test/rb/test_suite.rb
@@ -1 +1 @@
-Dir["{core,generation,integration}/**/*"].each {|f| require f } \ No newline at end of file
+Dir["{core,generation,integration}/**/*.rb"].each {|f| require f } \ No newline at end of file