Add spec for new PDU classes
parent
2de794042d
commit
d1103a0772
|
@ -0,0 +1,29 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
require 'biju/pdu'
|
||||||
|
|
||||||
|
describe Biju::PDU::DataCodingScheme do
|
||||||
|
describe '::autodetect' do
|
||||||
|
it "autodetects gsm7bit encoding" do
|
||||||
|
[
|
||||||
|
"Test",
|
||||||
|
"Ç$",
|
||||||
|
"[teßt}",
|
||||||
|
].each do |string|
|
||||||
|
expect(Biju::PDU::DataCodingScheme.autodetect(string)).to eq(:gsm7bit)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "autodetects ucs2 encoding" do
|
||||||
|
[
|
||||||
|
"ç",
|
||||||
|
"âmazing",
|
||||||
|
].each do |string|
|
||||||
|
expect(Biju::PDU::DataCodingScheme.autodetect(string)).to eq(:ucs2)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
subject { Biju::PDU::DataCodingScheme.new(:gsm7bit) }
|
||||||
|
its(:to_sym) { should eq(:gsm7bit) }
|
||||||
|
its(:hex) { should eq(0) }
|
||||||
|
end
|
|
@ -0,0 +1,21 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
require 'biju/pdu'
|
||||||
|
|
||||||
|
describe Biju::PDU::PhoneNumber do
|
||||||
|
describe '::encode' do
|
||||||
|
subject { Biju::PDU::PhoneNumber.encode('33123456789') }
|
||||||
|
its(:number) { should eq('3321436587F9') }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "odd length" do
|
||||||
|
subject { Biju::PDU::PhoneNumber.new('3321436587F9') }
|
||||||
|
its(:decode) { should eq('33123456789') }
|
||||||
|
its(:length) { should eq(11) }
|
||||||
|
end
|
||||||
|
|
||||||
|
context "even length" do
|
||||||
|
subject { Biju::PDU::PhoneNumber.new('3321436587') }
|
||||||
|
its(:decode) { should eq('3312345678') }
|
||||||
|
its(:length) { should eq(10) }
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,9 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
require 'biju/pdu'
|
||||||
|
|
||||||
|
describe Biju::PDU::TypeOfAddress do
|
||||||
|
subject { Biju::PDU::TypeOfAddress.new(:international) }
|
||||||
|
|
||||||
|
its(:to_sym) { should eq(:international) }
|
||||||
|
its(:hex) { should eq(145) }
|
||||||
|
end
|
|
@ -0,0 +1,12 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
require 'biju/pdu'
|
||||||
|
|
||||||
|
describe Biju::PDU::UserData do
|
||||||
|
subject(:message) { 'Test' }
|
||||||
|
subject(:encoded) { Biju::PDU::Encoding::GSM7Bit.encode(message) }
|
||||||
|
subject { Biju::PDU::UserData.encode(message, encoding: :gsm7bit) }
|
||||||
|
|
||||||
|
its(:message) { should eq(encoded[0]) }
|
||||||
|
its(:length) { should eq(encoded[1][:length]) }
|
||||||
|
its(:decode) { should eq(message) }
|
||||||
|
end
|
|
@ -23,5 +23,18 @@ describe Biju::Sms do
|
||||||
|
|
||||||
its(:datetime) { should eq(DateTime.new(2013, 9, 5, 9, 59, 29, '+08')) }
|
its(:datetime) { should eq(DateTime.new(2013, 9, 5, 9, 59, 29, '+08')) }
|
||||||
its(:message) { should eq('Test') }
|
its(:message) { should eq('Test') }
|
||||||
|
its(:phone_number) { should eq('33666666666') }
|
||||||
|
its(:type_of_address) { should eq(:international) }
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '#to_pdu' do
|
||||||
|
subject do
|
||||||
|
Biju::Sms.new(
|
||||||
|
phone_number: '33666666666',
|
||||||
|
type_of_address: :international,
|
||||||
|
message: 'Test').to_pdu.upcase
|
||||||
|
end
|
||||||
|
|
||||||
|
it { should eq('0001000B913366666666F6000004D4F29C0E') }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue