charlock_holmes 0.6.9 → 0.6.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- charlock_holmes (0.6.9)
4
+ charlock_holmes (0.6.9.1)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
data/README.md CHANGED
@@ -77,12 +77,35 @@ The first parameter is the content to transcode, the second is the source encodi
77
77
 
78
78
  ## Installing
79
79
 
80
- If the traditional `gem install charlock_holmes` doesn't work, you may need to specify the path to your installation of ICU using the `--with-icu-dir` option during the gem install.
80
+ If the traditional `gem install charlock_holmes` doesn't work, you may need to specify the path to
81
+ your installation of ICU using the `--with-icu-dir` option during the gem install or by configuring Bundler to
82
+ pass those arguments to Gem:
81
83
 
82
- At the time of writing, Homebrew for OSX installs ICU (icu4c is the package name) as a keg-only install so you'll have to specify the location during the gem install:
84
+ Configure Bundler to always use the correct arguments when installing:
83
85
 
84
- `gem install charlock_holmes -- --with-icu-dir=/usr/local/Cellar/icu4c/4.4.1`
86
+ bundle config build.charlock_holmes --with-icu-dir=/path/to/installed/icu4c
85
87
 
86
- If you're using Bundler and need to specify a custom path(s), you can do so with the `bundle config` command:
88
+ Using Gem to install directly without Bundler:
87
89
 
88
- `bundle config build.charlock_holmes --with-icu-dir=/usr/local/Cellar/icu4c/4.4.1`
90
+ gem install charlock_holmes -- --with-icu-dir=/path/to/installed/icu4c
91
+
92
+
93
+ ### Homebrew
94
+
95
+ If you're installing on Mac OS X then using [Homebrew](http://mxcl.github.com/homebrew/) is
96
+ the easiest way to install ICU.
97
+
98
+ However, be warned; it is a Keg-Only (see [homedir issue #167](https://github.com/mxcl/homebrew/issues/167)
99
+ for more info) install meaning RubyGems won't find it when installing without specifying `--with-icu-dir`
100
+
101
+ To install ICU with Homebrew:
102
+
103
+ brew install icu4c
104
+
105
+ Configure Bundler to always use the correct arguments when installing:
106
+
107
+ bundle config build.charlock_holmes --with-icu-dir=/usr/local/opt/icu4c
108
+
109
+ Using Gem to install directly without Bundler:
110
+
111
+ gem install charlock_holmes -- --with-icu-dir=/usr/local/opt/icu4c
@@ -15,6 +15,10 @@ static VALUE rb_converter_convert(VALUE self, VALUE rb_txt, VALUE rb_src_enc, VA
15
15
  int32_t out_len;
16
16
  UErrorCode status = U_ZERO_ERROR;
17
17
 
18
+ Check_Type(rb_txt, T_STRING);
19
+ Check_Type(rb_src_enc, T_STRING);
20
+ Check_Type(rb_dst_enc, T_STRING);
21
+
18
22
  src_txt = RSTRING_PTR(rb_txt);
19
23
  src_len = RSTRING_LEN(rb_txt);
20
24
  src_enc = RSTRING_PTR(rb_src_enc);
@@ -26,7 +26,7 @@ class String
26
26
  # Returns: self
27
27
  def detect_encoding!(hint_enc=nil)
28
28
  if detected = self.detect_encoding(hint_enc)
29
- self.force_encoding detected[:encoding]
29
+ self.force_encoding(detected[:encoding]) if detected[:encoding]
30
30
  end
31
31
  self
32
32
  end
@@ -1,3 +1,3 @@
1
1
  module CharlockHolmes
2
- VERSION = "0.6.9"
2
+ VERSION = "0.6.9.1"
3
3
  end
@@ -26,4 +26,22 @@ describe CharlockHolmes::Converter do
26
26
  assert input.bytesize == output.bytesize
27
27
  assert input == output
28
28
  end
29
+
30
+ test 'all params must be strings' do
31
+ assert_raises TypeError do
32
+ CharlockHolmes::Converter.convert nil, 'UTF-8', 'UTF-16'
33
+ end
34
+
35
+ assert_raises TypeError do
36
+ CharlockHolmes::Converter.convert 'lol', nil, 'UTF-16'
37
+ end
38
+
39
+ assert_raises TypeError do
40
+ CharlockHolmes::Converter.convert 'lol', 'UTF-8', nil
41
+ end
42
+
43
+ assert_nothing_raised do
44
+ CharlockHolmes::Converter.convert 'lol', 'UTF-8', 'UTF-16'
45
+ end
46
+ end
29
47
  end
metadata CHANGED
@@ -1,72 +1,80 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: charlock_holmes
3
- version: !ruby/object:Gem::Version
4
- version: 0.6.9
3
+ version: !ruby/object:Gem::Version
4
+ hash: 89
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 9
10
+ - 1
11
+ version: 0.6.9.1
6
12
  platform: ruby
7
- authors:
13
+ authors:
8
14
  - Brian Lopez
9
- - Vicent Martí
15
+ - "Vicent Mart\xC3\xAD"
10
16
  autorequire:
11
17
  bindir: bin
12
18
  cert_chain: []
13
- date: 2012-08-10 00:00:00.000000000 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
19
+
20
+ date: 2013-01-31 00:00:00 -08:00
21
+ default_executable:
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
16
24
  name: rake-compiler
17
- requirement: !ruby/object:Gem::Requirement
18
- none: false
19
- requirements:
20
- - - ! '>='
21
- - !ruby/object:Gem::Version
22
- version: 0.7.5
23
- type: :development
24
25
  prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
+ requirement: &id001 !ruby/object:Gem::Requirement
26
27
  none: false
27
- requirements:
28
- - - ! '>='
29
- - !ruby/object:Gem::Version
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ hash: 9
32
+ segments:
33
+ - 0
34
+ - 7
35
+ - 5
30
36
  version: 0.7.5
31
- - !ruby/object:Gem::Dependency
32
- name: rspec
33
- requirement: !ruby/object:Gem::Requirement
34
- none: false
35
- requirements:
36
- - - ! '>='
37
- - !ruby/object:Gem::Version
38
- version: 2.0.0
39
37
  type: :development
38
+ version_requirements: *id001
39
+ - !ruby/object:Gem::Dependency
40
+ name: rspec
40
41
  prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
42
+ requirement: &id002 !ruby/object:Gem::Requirement
42
43
  none: false
43
- requirements:
44
- - - ! '>='
45
- - !ruby/object:Gem::Version
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ hash: 15
48
+ segments:
49
+ - 2
50
+ - 0
51
+ - 0
46
52
  version: 2.0.0
47
- - !ruby/object:Gem::Dependency
48
- name: chardet
49
- requirement: !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
53
  type: :development
54
+ version_requirements: *id002
55
+ - !ruby/object:Gem::Dependency
56
+ name: chardet
56
57
  prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
58
+ requirement: &id003 !ruby/object:Gem::Requirement
58
59
  none: false
59
- requirements:
60
- - - ! '>='
61
- - !ruby/object:Gem::Version
62
- version: '0'
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ hash: 3
64
+ segments:
65
+ - 0
66
+ version: "0"
67
+ type: :development
68
+ version_requirements: *id003
63
69
  description:
64
70
  email: seniorlopez@gmail.com
65
71
  executables: []
66
- extensions:
72
+
73
+ extensions:
67
74
  - ext/charlock_holmes/extconf.rb
68
75
  extra_rdoc_files: []
69
- files:
76
+
77
+ files:
70
78
  - .gitignore
71
79
  - .rspec
72
80
  - Gemfile
@@ -98,32 +106,41 @@ files:
98
106
  - spec/fixtures/repl2.cljs
99
107
  - spec/spec_helper.rb
100
108
  - spec/string_method_spec.rb
109
+ has_rdoc: true
101
110
  homepage: http://github.com/brianmario/charlock_holmes
102
111
  licenses: []
112
+
103
113
  post_install_message:
104
- rdoc_options:
114
+ rdoc_options:
105
115
  - --charset=UTF-8
106
- require_paths:
116
+ require_paths:
107
117
  - lib
108
- required_ruby_version: !ruby/object:Gem::Requirement
118
+ required_ruby_version: !ruby/object:Gem::Requirement
109
119
  none: false
110
- requirements:
111
- - - ! '>='
112
- - !ruby/object:Gem::Version
113
- version: '0'
114
- required_rubygems_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ hash: 3
124
+ segments:
125
+ - 0
126
+ version: "0"
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
128
  none: false
116
- requirements:
117
- - - ! '>='
118
- - !ruby/object:Gem::Version
119
- version: '0'
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ hash: 3
133
+ segments:
134
+ - 0
135
+ version: "0"
120
136
  requirements: []
137
+
121
138
  rubyforge_project:
122
- rubygems_version: 1.8.23
139
+ rubygems_version: 1.6.2
123
140
  signing_key:
124
141
  specification_version: 3
125
142
  summary: Character encoding detection, brought to you by ICU
126
- test_files:
143
+ test_files:
127
144
  - spec/converter_spec.rb
128
145
  - spec/encoding_detector_spec.rb
129
146
  - spec/fixtures/AnsiGraph.psm1