Skip to content

Commit 826c822

Browse files
committed
do not check OCI8.properties in tests when using JRuby
1 parent 0660c4e commit 826c822

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

spec/plsql/variable_spec.rb

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -49,27 +49,33 @@
4949
plsql.test_package.varchar2_default3.should == 'default'
5050
end
5151

52-
it "should set and get VARCHAR2(n CHAR) variable" do
53-
if OCI8.properties.has_key?(:length_semantics)
54-
original_length_semantics = OCI8.properties[:length_semantics]
55-
OCI8.properties[:length_semantics] = :char
52+
describe "with character or byte limit" do
53+
before(:each) do
54+
if !defined?(JRUBY_VERSION) && OCI8.properties.has_key?(:length_semantics)
55+
@original_length_semantics = OCI8.properties[:length_semantics]
56+
OCI8.properties[:length_semantics] = :char
57+
end
58+
end
59+
60+
after(:each) do
61+
if !defined?(JRUBY_VERSION) && OCI8.properties.has_key?(:length_semantics)
62+
OCI8.properties[:length_semantics] = @original_length_semantics
63+
end
5664
end
57-
plsql.test_package.varchar2_3_char = 'āčē'
58-
plsql.test_package.varchar2_3_char.should == 'āčē'
59-
lambda { plsql.test_package.varchar2_3_char = 'aceg' }.should raise_error(/buffer too small/)
60-
OCI8.properties[:length_semantics] = original_length_semantics if OCI8.properties.has_key?(:length_semantics)
61-
end
6265

63-
it "should set and get VARCHAR2(n BYTE) variable" do
64-
if OCI8.properties.has_key?(:length_semantics)
65-
original_length_semantics = OCI8.properties[:length_semantics]
66-
OCI8.properties[:length_semantics] = :char
66+
it "should set and get VARCHAR2(n CHAR) variable" do
67+
plsql.test_package.varchar2_3_char = 'āčē'
68+
plsql.test_package.varchar2_3_char.should == 'āčē'
69+
lambda { plsql.test_package.varchar2_3_char = 'aceg' }.should raise_error(/buffer too small/)
6770
end
68-
plsql.test_package.varchar2_3_byte = 'ace'
69-
plsql.test_package.varchar2_3_byte.should == 'ace'
70-
lambda { plsql.test_package.varchar2_3_byte = 'āce' }.should raise_error(/buffer too small/)
71-
lambda { plsql.test_package.varchar2_3_byte = 'aceg' }.should raise_error(/buffer too small/)
72-
OCI8.properties[:length_semantics] = original_length_semantics if OCI8.properties.has_key?(:length_semantics)
71+
72+
it "should set and get VARCHAR2(n BYTE) variable" do
73+
plsql.test_package.varchar2_3_byte = 'ace'
74+
plsql.test_package.varchar2_3_byte.should == 'ace'
75+
lambda { plsql.test_package.varchar2_3_byte = 'āce' }.should raise_error(/buffer too small/)
76+
lambda { plsql.test_package.varchar2_3_byte = 'aceg' }.should raise_error(/buffer too small/)
77+
end
78+
7379
end
7480

7581
it "should set and get CHAR variable" do

0 commit comments

Comments
 (0)