22
33module SQLite3
44 class TestPragmas < SQLite3 ::TestCase
5+ BIGENDIAN = ( [ 1 ] . pack ( "I" ) == [ 1 ] . pack ( "N" ) )
6+
57 class DatabaseTracker < SQLite3 ::Database
68 attr_reader :test_statements
79
@@ -78,7 +80,8 @@ def test_encoding_uppercase
7880 assert_equal ( Encoding ::UTF_8 , @db . encoding )
7981
8082 @db . encoding = "UTF-16"
81- assert_equal ( Encoding ::UTF_16LE , @db . encoding )
83+ native = BIGENDIAN ? Encoding ::UTF_16BE : Encoding ::UTF_16LE
84+ assert_equal ( native , @db . encoding )
8285
8386 @db . encoding = "UTF-16LE"
8487 assert_equal ( Encoding ::UTF_16LE , @db . encoding )
@@ -94,7 +97,8 @@ def test_encoding_lowercase
9497 assert_equal ( Encoding ::UTF_8 , @db . encoding )
9598
9699 @db . encoding = "utf-16"
97- assert_equal ( Encoding ::UTF_16LE , @db . encoding )
100+ native = BIGENDIAN ? Encoding ::UTF_16BE : Encoding ::UTF_16LE
101+ assert_equal ( native , @db . encoding )
98102
99103 @db . encoding = "utf-16le"
100104 assert_equal ( Encoding ::UTF_16LE , @db . encoding )
@@ -110,7 +114,8 @@ def test_encoding_objects
110114 assert_equal ( Encoding ::UTF_8 , @db . encoding )
111115
112116 @db . encoding = Encoding ::UTF_16
113- assert_equal ( Encoding ::UTF_16LE , @db . encoding )
117+ native = BIGENDIAN ? Encoding ::UTF_16BE : Encoding ::UTF_16LE
118+ assert_equal ( native , @db . encoding )
114119
115120 @db . encoding = Encoding ::UTF_16LE
116121 assert_equal ( Encoding ::UTF_16LE , @db . encoding )
0 commit comments