Skip to content

Commit a6e47d8

Browse files
authored
Merge pull request #616 from sparklemotion/flavorjones-test-use-proper-native-endianness
fix: tests pass on bigendian architecture
2 parents ed1b96a + 6f0e4d5 commit a6e47d8

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

test/test_pragmas.rb

+8-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
module 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

Comments
 (0)