1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
require File.expand_path('../../../../spec_helper', __FILE__)
require File.expand_path('../../fixtures/classes', __FILE__)
require File.expand_path('../shared/basic', __FILE__)
require File.expand_path('../shared/integer', __FILE__)
ruby_version_is "1.9.3" do
describe "String#unpack with format 'Q'" do
describe "with modifier '<'" do
it_behaves_like :string_unpack_64bit_le, 'Q<'
it_behaves_like :string_unpack_64bit_le_unsigned, 'Q<'
end
describe "with modifier '>'" do
it_behaves_like :string_unpack_64bit_be, 'Q>'
it_behaves_like :string_unpack_64bit_be_unsigned, 'Q>'
end
end
describe "String#unpack with format 'q'" do
describe "with modifier '<'" do
it_behaves_like :string_unpack_64bit_le, 'q<'
it_behaves_like :string_unpack_64bit_le_signed, 'q<'
end
describe "with modifier '>'" do
it_behaves_like :string_unpack_64bit_be, 'q>'
it_behaves_like :string_unpack_64bit_be_signed, 'q>'
end
end
end
describe "String#unpack with format 'Q'" do
it_behaves_like :string_unpack_basic, 'Q'
ruby_version_is '' ... '2.1' do
it_behaves_like :string_unpack_no_platform, 'Q'
end
end
describe "String#unpack with format 'q'" do
it_behaves_like :string_unpack_basic, 'q'
ruby_version_is '' ... '2.1' do
it_behaves_like :string_unpack_no_platform, 'q'
end
end
little_endian do
describe "String#unpack with format 'Q'" do
it_behaves_like :string_unpack_64bit_le, 'Q'
it_behaves_like :string_unpack_64bit_le_extra, 'Q'
it_behaves_like :string_unpack_64bit_le_unsigned, 'Q'
end
describe "String#unpack with format 'q'" do
it_behaves_like :string_unpack_64bit_le, 'q'
it_behaves_like :string_unpack_64bit_le_extra, 'q'
it_behaves_like :string_unpack_64bit_le_signed, 'q'
end
end
big_endian do
describe "String#unpack with format 'Q'" do
it_behaves_like :string_unpack_64bit_be, 'Q'
it_behaves_like :string_unpack_64bit_be_extra, 'Q'
it_behaves_like :string_unpack_64bit_be_unsigned, 'Q'
end
describe "String#unpack with format 'q'" do
it_behaves_like :string_unpack_64bit_be, 'q'
it_behaves_like :string_unpack_64bit_be_extra, 'q'
it_behaves_like :string_unpack_64bit_be_signed, 'q'
end
end
|