pwim-emoticon 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/emoticon.gemspec +1 -1
- data/lib/emoticon.rb +2 -2
- data/lib/emoticon/transcoder/docomo.rb +7 -0
- data/test/emoticon/transcoder/au_test.rb +1 -1
- data/test/emoticon/transcoder/docomo_test.rb +6 -1
- data/test/emoticon/transcoder/jphone_test.rb +1 -1
- data/test/emoticon/transcoder/softbank_test.rb +1 -1
- data/test/emoticon/transcoder/vodafone_test.rb +1 -1
- data/test/emoticon_test.rb +2 -0
- metadata +1 -1
data/emoticon.gemspec
CHANGED
data/lib/emoticon.rb
CHANGED
@@ -4,8 +4,8 @@ end
|
|
4
4
|
|
5
5
|
module Emoticon
|
6
6
|
def self.transcoder_for_carrier(carrier)
|
7
|
-
name = carrier.capitalize
|
8
|
-
if Transcoder.const_defined?(name)
|
7
|
+
name = carrier.to_s.capitalize
|
8
|
+
if !name.empty? && Transcoder.const_defined?(name)
|
9
9
|
Transcoder.const_get(name).instance
|
10
10
|
else
|
11
11
|
Transcoder::Null.instance
|
@@ -11,6 +11,13 @@ class Emoticon::Transcoder::Docomo < Emoticon::Transcoder
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
def sjiscr_to_unicodecr(s)
|
15
|
+
s.gsub(/&#([0-9]{5});/i) do |match|
|
16
|
+
unicode = DOCOMO_SJIS_TO_UNICODE[$1.to_i].to_s(16).upcase
|
17
|
+
"&#x#{unicode};"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
14
21
|
private
|
15
22
|
|
16
23
|
def to_sjis
|
@@ -5,7 +5,7 @@ require "emoticon/transcoder/docomo"
|
|
5
5
|
|
6
6
|
class DocomoTest < Test::Unit::TestCase
|
7
7
|
def setup
|
8
|
-
@transcoder = Emoticon::Transcoder::Docomo.
|
8
|
+
@transcoder = Emoticon::Transcoder::Docomo.instance
|
9
9
|
end
|
10
10
|
|
11
11
|
def test_internal_to_external
|
@@ -17,4 +17,9 @@ class DocomoTest < Test::Unit::TestCase
|
|
17
17
|
assert_equal "\xf8\x9f", @transcoder.internal_to_external(SOFTBANK_CR)
|
18
18
|
assert_equal "\xf8\x9f", @transcoder.internal_to_external(SOFTBANK_UTF8)
|
19
19
|
end
|
20
|
+
|
21
|
+
def test_sjiscr_to_unicodecr
|
22
|
+
s = @transcoder.sjiscr_to_unicodecr("<P></P>")
|
23
|
+
assert_equal("<P></P>", s)
|
24
|
+
end
|
20
25
|
end
|
data/test/emoticon_test.rb
CHANGED
@@ -10,5 +10,7 @@ class EmoticonTest < Test::Unit::TestCase
|
|
10
10
|
assert_instance_of(Emoticon::Transcoder::Jphone, Emoticon.transcoder_for_carrier("jphone"))
|
11
11
|
assert_instance_of(Emoticon::Transcoder::Null, Emoticon.transcoder_for_carrier("emobile"))
|
12
12
|
assert_instance_of(Emoticon::Transcoder::Null, Emoticon.transcoder_for_carrier("willcom"))
|
13
|
+
assert_instance_of(Emoticon::Transcoder::Null, Emoticon.transcoder_for_carrier(""))
|
14
|
+
assert_instance_of(Emoticon::Transcoder::Null, Emoticon.transcoder_for_carrier(nil))
|
13
15
|
end
|
14
16
|
end
|