textutils 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 56b6dcc77d437cdddb1df9336366d74465c9b0e3
4
- data.tar.gz: 642a609e8e6c5df8c11e12b9c2c468cb8dd6fa53
3
+ metadata.gz: f00f828d6acdda9354dc4e184ad2175120c0a52b
4
+ data.tar.gz: b980a6a22624ab14d9d6dde81b54816ca2049377
5
5
  SHA512:
6
- metadata.gz: 1d7811b15d502395861cab8ce2ca15d4419d9744c3e58fee44a431804026e489776fdc84b60a33e95ab963abaf778fd6ffd21c54fcd37072498c6ed7caeda144
7
- data.tar.gz: 5dd72d6fb3f4977cf9f8d8eb8982b21f5cf4165fcbaed28ff2a8fc396a46c6d9fc37d9df95bb4af5f5b359a70fb10896dcdf3d43ceb36afe57ffea93b338633b
6
+ metadata.gz: 2ec76cf2285ced25d1b24bfbf44051b972da498fb09cbf421dff3773db9edc10c146090d6542db8ec62522bc6e695f6edce534e53db377c62f3f085c9a512431
7
+ data.tar.gz: bb2fa20aefe23faf2df9ac5d46dd70e53e9a8b86bad8871a8427b108e62b0cbf7b4c065cfee23a0a81d1487d6bf071b09123e0ab0f92937dda3911225e303fa1
data/Manifest.txt CHANGED
@@ -34,9 +34,11 @@ lib/textutils/sanitizier.rb
34
34
  lib/textutils/title.rb
35
35
  lib/textutils/utils.rb
36
36
  lib/textutils/version.rb
37
+ test/cl_all.txt
37
38
  test/helper.rb
38
39
  test/test_address_helper.rb
39
40
  test/test_asciify.rb
41
+ test/test_fixture_reader.rb
40
42
  test/test_hypertext_helper.rb
41
43
  test/test_slugify.rb
42
44
  test/test_taglist.rb
@@ -14,123 +14,127 @@ module TextUtils
14
14
 
15
15
  ## todo: add unicode codepoint name ???
16
16
 
17
- ASCIIFY_MAPPINGS = [
18
- ['ß', 'ss'], # -- Latin small letter sharp s (ess-zed); see German Eszett // &szlig
19
-
20
- ['æ', 'ae'], # -- Latin small letter ae (Latin small ligature ae) // &aelig
21
- ['ä', 'ae'], # -- Latin small letter a with diaeresis // &auml
22
- ['ā', 'a' ], # e.g. Liepājas, Kāṭhmāḍaũ
23
- ['á', 'a' ], # e.g. Bogotá, Králové
24
- ['à', 'a' ], # e.g. Thành Phố Hồ Chí Minh [Saigon]
25
- ['ã', 'a' ], # e.g São Paulo
26
- ['ă', 'a' ], # e.g. Chișinău
27
- ['â', 'a' ], # e.g Goiânia
28
- ['å', 'a' ], # e.g. Vålerenga
29
- ['ą', 'a' ], # e.g. Śląsk
30
-
31
- ['ç', 'c' ], # e.g. São Gonçalo, Iguaçu, Neftçi
32
- ['ć', 'c' ], # e.g. Budućnost
33
- ['č', 'c' ], # e.g. Tradiční, Výčepní
34
-
35
- ['ḍ', 'd' ], # e.g. Kāṭhmāḍaũ [Kathmandu]
36
-
37
- ['é', 'e' ], # e.g. Vélez, Králové
38
- ['è', 'e' ], # e.g. Rivières
39
- ['ê', 'e' ], # e.g. Grêmio
40
- ['ě', 'e' ], # e.g. Budějovice
41
- ['ĕ', 'e' ], # e.g. Svĕtlý
42
- ['ė', 'e' ], # e.g. Vėtra
43
- ['ë', 'e' ], # e.g. Skënderbeu
44
-
45
- ['ğ', 'g' ], # e.g. Qarabağ
46
-
47
- ['ḥ', 'h' ], # e.g. Ad-Dawḥah [Doha]
48
-
49
- ['ì', 'i' ], # e.g. Potosì
50
- ['í', 'i' ], # e.g. Ústí
51
- ['ï', 'i' ], # e.g. El Djazaïr
52
- ['ī', 'i' ], # e.g. Al-Iskandarīyah [Alexandria]
53
-
54
- ['ł', 'l' ], # e.g. Wisła, Wrocław
55
- ['ñ', 'n' ], # e.g. Porteño
56
- ['ň', 'n' ], # e.g. Plzeň, Třeboň
57
-
58
- ['ö', 'oe'],
59
- ['ő', 'o' ], # e.g. Győri
60
- ['ó', 'o' ], # e.g. Colón, Łódź, Kraków
61
- ['õ', 'o' ], # e.g. Nõmme
62
- ['ô', 'o' ], # e.g. Amazônia (pt)
63
- ['ō', 'o' ], # e.g. Tōkyō, Pishōr
64
- ['ŏ', 'o' ], # e.g. P'yŏngyang [Pyongyang]
65
- ['ø', 'o' ], # e.g. Fuglafjørdur, København
66
- ['ố', 'o' ], # e.g. Thành Phố Hồ Chí Minh [Saigon]
67
- ['ồ', 'o' ], # e.g. Thành Phố Hồ Chí Minh [Saigon]
68
- ['ộ', 'o' ], # e.g. Hà Nội [Hanoi]
69
-
70
- ['ř', 'r' ], # e.g. Třeboň
71
-
72
- ['ș', 's' ], # e.g. Chișinău, București
73
- ['ş', 's' ], # e.g. Beşiktaş
74
- ['š', 's' ], # e.g. Košice
75
- ['ṣ', 's' ], # e.g. Al-Mawṣil [Mosul]
76
-
77
- ['ť', 't' ], # e.g. Měšťan
78
- ['ṭ', 't' ], # e.g. Al-Kharṭūm [Khartoum], Kāṭhmāḍaũ
79
-
80
- ['ü', 'ue'],
81
- ['ú', 'u' ], # e.g. Fútbol
82
- ['ù', 'u' ], # e.g. Xyauyù (it)
83
- ['ū', 'u' ], # e.g. Sūduva
84
- ['ů', 'u' ], # e.g. Sládkův
85
- ['ũ', 'u' ], # e.g. Kāṭhmāḍaũ [Kathmandu]
86
-
87
- ['ı', 'u' ], # e.g. Bakı # use u?? (Baku) why-why not?
88
-
89
- ['x̌', 'x'], # e.g. Pex̌awar [Peshawar]
90
-
91
- ['ý', 'y' ], # e.g. Nefitrovaný
92
- ['ź', 'z' ], # e.g. Łódź
93
- ['ž', 'z' ], # e.g. Domžale, Petržalka
94
- ['ż', 'z' ], # e.g. Lomża (polish)
95
-
96
- ['Æ', 'Ae' ], # -- Latin capital letter AE
97
- ['Á', 'A' ], # e.g. Águila (es)
98
- ['Å', 'A' ], # e.g. Åland Islands -- Latin capital letter A with ring above // Å
99
-
100
- ['Ç', 'C' ], # -- Latin capital letter C with cedilla -- &Ccedil
101
- ['Č', 'C' ], # e.g. České
102
-
103
- ['', 'H' ], # e.g. Ḥalab [Aleppo]
104
- ['', 'H' ], # e.g. Ḫamīs Mušayṭ
105
- ['İ', 'I' ], # e.g. İnter
106
- ['Í', 'I' ], # e.g. ÍBV
107
- ['Ł', 'L' ], # e.g. Łódź
108
-
109
- ['Ö', 'Oe' ], # e.g. Örebro -- Latin capital letter O with diaeresis // Ö
110
- ['Ō', 'O' ], # e.g. Ōsaka [Osaka] --
111
- ['Ø', 'O' ], # e.g. Nogne Ø Imperial Stout (no) -- Latin capital letter O with stroke (Latin capital letter O slash) // &Oslash
112
-
113
- ['Ř', 'R' ], # e.g. Řezák
114
-
115
- ['Ś', 'S' ], # e.g. Śląsk
116
- ['Š', 'S' ], # e.g. MŠK -- Latin capital letter S with caron // Š
117
- ['Ş', 'S' ], # e.g. Şüvälan
118
- ['Ṣ', 'S' ], # e.g. Ṣan'ā' [Sana'a]
119
-
120
- ['', 'T' ], # e.g. Ṭarābulus [Tripoli]
121
- ['Ú', 'U' ], # e.g. Ústí, Újpest
122
- ['Ž', 'Z' ], # e.g. Žilina
123
- ['Ż', 'Z' ] # e.g. Żywiec (polish) -- Latin captial letter Z with caron
124
- ]
17
+ ASCIIFY_MAPPINGS = {
18
+ 'ß' => 'ss', # -- Latin small letter sharp s (ess-zed); see German Eszett // &szlig
19
+
20
+ 'æ' => 'ae', # -- Latin small letter ae (Latin small ligature ae) // &aelig
21
+ 'ä' => 'ae', # -- Latin small letter a with diaeresis // &auml
22
+ 'ā' => 'a', # e.g. Liepājas, Kāṭhmāḍaũ
23
+ 'á' => 'a', # e.g. Bogotá, Králové
24
+ 'à' => 'a', # e.g. Thành Phố Hồ Chí Minh [Saigon]
25
+ 'ã' => 'a', # e.g São Paulo
26
+ '=> 'a', # e.g. Chișinău
27
+ 'â' => 'a', # e.g Goiânia
28
+ 'å' => 'a', # e.g. Vålerenga
29
+ 'ą' => 'a', # e.g. Śląsk
30
+
31
+ 'ç' => 'c', # e.g. São Gonçalo, Iguaçu, Neftçi
32
+ 'ć' => 'c', # e.g. Budućnost
33
+ 'č' => 'c', # e.g. Tradiční, Výčepní
34
+
35
+ 'ḍ' => 'd', # e.g. Kāṭhmāḍaũ [Kathmandu]
36
+
37
+ 'é' => 'e', # e.g. Vélez, Králové
38
+ 'è' => 'e', # e.g. Rivières
39
+ 'ê' => 'e', # e.g. Grêmio
40
+ 'ě' => 'e', # e.g. Budějovice
41
+ 'ĕ' => 'e', # e.g. Svĕtlý
42
+ 'ė' => 'e', # e.g. Vėtra
43
+ 'ë' => 'e', # e.g. Skënderbeu
44
+
45
+ 'ğ' => 'g', # e.g. Qarabağ
46
+
47
+ 'ḥ' => 'h', # e.g. Ad-Dawḥah [Doha]
48
+
49
+ 'ì' => 'i', # e.g. Potosì
50
+ 'í' => 'i', # e.g. Ústí
51
+ 'ï' => 'i', # e.g. El Djazaïr
52
+ 'ī' => 'i', # e.g. Al-Iskandarīyah [Alexandria]
53
+
54
+ 'ł' => 'l', # e.g. Wisła, Wrocław
55
+ 'ñ' => 'n', # e.g. Porteño
56
+ 'ň' => 'n', # e.g. Plzeň, Třeboň
57
+
58
+ 'ö' => 'oe',
59
+ 'ő' => 'o', # e.g. Győri
60
+ 'ó' => 'o', # e.g. Colón, Łódź, Kraków
61
+ 'õ' => 'o', # e.g. Nõmme
62
+ 'ô' => 'o', # e.g. Amazônia (pt)
63
+ 'ō' => 'o', # e.g. Tōkyō, Pishōr
64
+ 'ŏ' => 'o', # e.g. P'yŏngyang [Pyongyang]
65
+ 'ø' => 'o', # e.g. Fuglafjørdur, København
66
+ 'ố' => 'o', # e.g. Thành Phố Hồ Chí Minh [Saigon]
67
+ 'ồ' => 'o', # e.g. Thành Phố Hồ Chí Minh [Saigon]
68
+ 'ộ' => 'o', # e.g. Hà Nội [Hanoi]
69
+
70
+ 'ř' => 'r', # e.g. Třeboň
71
+
72
+ 'ș' => 's', # e.g. Chișinău, București
73
+ 'ş' => 's', # e.g. Beşiktaş
74
+ 'š' => 's', # e.g. Košice
75
+ 'ṣ' => 's', # e.g. Al-Mawṣil [Mosul]
76
+
77
+ 'ť' => 't', # e.g. Měšťan
78
+ 'ṭ' => 't', # e.g. Al-Kharṭūm [Khartoum], Kāṭhmāḍaũ
79
+ 'ț' => 't', # e.g. Bistrița (ro)
80
+
81
+ 'ü' => 'ue',
82
+ 'ú' => 'u', # e.g. Fútbol
83
+ 'ù' => 'u', # e.g. Xyauyù (it)
84
+ 'ū' => 'u', # e.g. Sūduva
85
+ 'ů' => 'u', # e.g. Sládkův
86
+ 'ũ' => 'u', # e.g. Kāṭhmāḍaũ [Kathmandu]
87
+
88
+ 'ı' => 'u', # e.g. Bakı # use u?? (Baku) why-why not?
89
+
90
+ 'ý' => 'y', # e.g. Nefitrovaný
91
+ 'ź' => 'z', # e.g. Łódź
92
+ 'ž' => 'z', # e.g. Domžale, Petržalka
93
+ 'ż' => 'z', # e.g. Lomża (polish)
94
+
95
+ 'Æ' => 'Ae', # -- Latin capital letter AE
96
+ 'Á' => 'A', # e.g. Águila (es)
97
+ 'Å' => 'A', # e.g. Åland Islands -- Latin capital letter A with ring above // Å
98
+
99
+ 'Ç' => 'C', # -- Latin capital letter C with cedilla -- &Ccedil
100
+ 'Č' => 'C', # e.g. České
101
+
102
+ 'Ḥ' => 'H', # e.g. Ḥalab [Aleppo]
103
+ '' => 'H', # e.g. Ḫamīs Mušayṭ
104
+ 'İ' => 'I', # e.g. İnter
105
+ 'Í' => 'I', # e.g. ÍBV
106
+ 'Ł' => 'L', # e.g. Łódź
107
+
108
+ 'Ö' => 'Oe', # e.g. Örebro -- Latin capital letter O with diaeresis // Ö
109
+ 'Ō' => 'O', # e.g. Ōsaka [Osaka] --
110
+ 'Ø' => 'O', # e.g. Nogne Ø Imperial Stout (no) -- Latin capital letter O with stroke (Latin capital letter O slash) // &Oslash
111
+
112
+ 'Ř' => 'R', # e.g. Řezák
113
+
114
+ 'Ś' => 'S', # e.g. Śląsk
115
+ 'Š' => 'S', # e.g. MŠK -- Latin capital letter S with caron // Š
116
+ 'Ş' => 'S', # e.g. Şüvälan
117
+ '' => 'S', # e.g. Ṣan'ā' [Sana'a]
118
+
119
+ 'Ṭ' => 'T', # e.g. Ṭarābulus [Tripoli]
120
+ 'Ú' => 'U', # e.g. Ústí, Újpest
121
+ 'Ž' => 'Z', # e.g. Žilina
122
+ 'Ż' => 'Z', # e.g. Żywiec (polish) -- Latin captial letter Z with caron
123
+
124
+ "\u{030C}" => 'x', # e.g. Pex̌awar [Peshawar] -- note: use unicode codepoint as some editors mess up 'x̌'
125
+ }
125
126
 
126
127
 
127
128
  def asciify( content, options={} )
128
- ### fix: use content.each_char and hash_map or similar instead of gsub
129
-
130
- ASCIIFY_MAPPINGS.each do |mapping|
131
- content = content.gsub( mapping[0], mapping[1] )
129
+ buf = ''
130
+ content.each_char do |c|
131
+ if ASCIIFY_MAPPINGS.has_key?( c )
132
+ buf << ASCIIFY_MAPPINGS[ c ]
133
+ else
134
+ buf << c # just add as is (no mapping)
135
+ end
132
136
  end
133
- content
137
+ buf
134
138
  end
135
139
 
136
140
  def slugify( content, options={} )
@@ -1,48 +1,108 @@
1
- # encoding: utf-8
2
-
3
- ### read in a list of fixtures (that is, fixture names/files)
4
-
5
- # fix: move into TextUtils namespace/module!!
6
-
7
- class FixtureReader
8
-
9
- include LogUtils::Logging
10
-
11
- def initialize( path )
12
- @path = path
13
-
14
- ## nb: assume/enfore utf-8 encoding (with or without BOM - byte order mark)
15
- ## - see textutils/utils.rb
16
- text = File.read_utf8( @path )
17
-
18
- hash = YAML.load( text )
19
-
20
- ### build up array for fixtures from hash
21
-
22
- @ary = []
23
-
24
- hash.each do |key_wild, value_wild|
25
- key = key_wild.to_s.strip
26
-
27
- logger.debug "yaml key:#{key_wild.class.name} >>#{key}<<, value:#{value_wild.class.name} >>#{value_wild}<<"
28
-
29
- if value_wild.kind_of?( String ) # assume single fixture name
30
- @ary << value_wild
31
- elsif value_wild.kind_of?( Array ) # assume array of fixture names as strings
32
- @ary = @ary + value_wild
33
- else
34
- logger.error "unknow fixture type in setup (yaml key:#{key_wild.class.name} >>#{key}<<, value:#{value_wild.class.name} >>#{value_wild}<<); skipping"
35
- end
36
- end
37
-
38
- logger.debug "fixture setup:"
39
- logger.debug @ary.to_json
40
- end
41
-
42
- def each
43
- @ary.each do |fixture|
44
- yield( fixture )
45
- end
46
- end # method each
47
-
48
- end # class FixtureReader
1
+ # encoding: utf-8
2
+
3
+ ### read in a list of fixtures (that is, fixture names/files)
4
+
5
+ # fix: move into TextUtils namespace/module!!
6
+
7
+ ##
8
+ # use ManifestReader ?? why? why not? - reuse in manifest gem (or manman e.g. manifest manger) ??
9
+ #
10
+
11
+ class FixtureReader
12
+
13
+ include LogUtils::Logging
14
+
15
+ def initialize( path )
16
+ @path = path
17
+
18
+ @ary = []
19
+
20
+ ## nb: assume/enfore utf-8 encoding (with or without BOM - byte order mark)
21
+ ## - see textutils/utils.rb
22
+ text = File.read_utf8( @path )
23
+
24
+ if @path.ends_with?( '.yml' ) || @path.ends_with?( '.yaml' )
25
+ ### fix/todo: remove later on!!! - do not use!!
26
+ puts "deprecated api - FixtureReader w/ yaml format - will get removed; please use new plain text manifest format"
27
+ @ary = old_deprecated_yaml_reader( text )
28
+ else
29
+ @ary = plain_text_reader( text )
30
+ end
31
+
32
+ logger.debug "fixture setup:"
33
+ logger.debug @ary.to_json
34
+ end
35
+
36
+
37
+ def plain_text_reader( text ) ## find a better name - just read?
38
+
39
+ ## use LineReader ?? for (re)use of comment processing - why? why not???
40
+ ### build up array for fixtures from hash
41
+ ary = []
42
+
43
+ text.each_line do |line|
44
+
45
+ # comments allow:
46
+ # 1) ##### (shell/ruby style)
47
+ # 2) -- comment here (haskel/?? style)
48
+ # 3) % comment here (tex/latex style)
49
+
50
+ if line =~ /^\s*#/ || line =~ /^\s*--/ || line =~ /^\s*%/
51
+ # skip komments and do NOT copy to result (keep comments secret!)
52
+ logger.debug 'skipping comment line'
53
+ next
54
+ end
55
+
56
+ if line =~ /^\s*$/
57
+ # skip blank lines
58
+ logger.debug 'skipping blank line'
59
+ next
60
+ end
61
+
62
+ # pass 1) remove possible trailing eol comment
63
+ ## e.g -> nyc, New York # Sample EOL Comment Here (with or without commas,,,,)
64
+ ## becomes -> nyc, New York
65
+
66
+ line = line.sub( /\s+#.+$/, '' )
67
+
68
+ # pass 2) remove leading and trailing whitespace
69
+
70
+ line = line.strip
71
+
72
+ ary << line
73
+ end # each lines
74
+ ary # return fixture ary
75
+ end # method plain_text_reader
76
+
77
+
78
+ def old_deprecated_yaml_reader( text )
79
+ hash = YAML.load( text )
80
+
81
+ ### build up array for fixtures from hash
82
+ ary = []
83
+
84
+ hash.each do |key_wild, value_wild|
85
+ key = key_wild.to_s.strip
86
+
87
+ logger.debug "yaml key:#{key_wild.class.name} >>#{key}<<, value:#{value_wild.class.name} >>#{value_wild}<<"
88
+
89
+ if value_wild.kind_of?( String ) # assume single fixture name
90
+ ary << value_wild
91
+ elsif value_wild.kind_of?( Array ) # assume array of fixture names as strings
92
+ ary = ary + value_wild
93
+ else
94
+ logger.error "unknow fixture type in setup (yaml key:#{key_wild.class.name} >>#{key}<<, value:#{value_wild.class.name} >>#{value_wild}<<); skipping"
95
+ end
96
+ end
97
+ ary # return fixture ary
98
+ end
99
+
100
+
101
+
102
+ def each
103
+ @ary.each do |fixture|
104
+ yield( fixture )
105
+ end
106
+ end # method each
107
+
108
+ end # class FixtureReader
@@ -1,7 +1,7 @@
1
1
 
2
2
  module TextUtils
3
3
 
4
- VERSION = '0.9.2'
4
+ VERSION = '0.9.3'
5
5
 
6
6
  end # module TextUtils
7
7
 
data/test/cl_all.txt ADDED
@@ -0,0 +1,22 @@
1
+ #####################################
2
+ # test data for fixture reader
3
+
4
+
5
+ # -- leagues
6
+
7
+ europe-champions-league!/leagues
8
+
9
+ # -- 2011_12
10
+
11
+ europe-champions-league!/2011_12/cl
12
+ europe-champions-league!/2011_12/el
13
+
14
+ # -- 2012_13
15
+
16
+ europe-champions-league!/2012_13/cl
17
+ europe-champions-league!/2012_13/el
18
+
19
+ # -- 2013_14
20
+
21
+ europe-champions-league!/2013_14/cl
22
+
data/test/test_asciify.rb CHANGED
@@ -25,12 +25,17 @@ class TestAsciify < MiniTest::Unit::TestCase
25
25
  [ 'Al-Kharṭūm', 'Al-Khartum' ],
26
26
  [ 'Ṭarābulus', 'Tarabulus' ],
27
27
  [ 'Al-Iskandarīyah', 'Al-Iskandariyah' ],
28
- [ 'Pex̌awar', 'Pexawar'],
29
28
  [ 'Pishōr', 'Pishor' ],
30
29
  [ 'Pishāwar', 'Pishawar' ],
31
30
  [ 'Islām ābād', 'Islam abad' ],
32
31
  [ 'Thành Phố Hồ Chí Minh', 'Thanh Pho Ho Chi Minh' ],
33
- [ 'Åland Islands', 'Aland Islands' ]
32
+ [ 'Åland Islands', 'Aland Islands' ],
33
+ [ 'Bistrița', 'Bistrita' ],
34
+ [ 'Piatra-Neamț', 'Piatra-Neamt' ],
35
+ [ 'Constanța', 'Constanta' ],
36
+ [ 'Galați', 'Galati' ],
37
+ [ 'Reșița', 'Resita' ],
38
+ [ "Pe\u{030C}awar", 'Pexawar'] ## note: use unicode literal; Pex̌awar -- see en.wikipedia.org/wiki/Peshawar
34
39
  ]
35
40
 
36
41
  txt_io.each do |txt|
@@ -0,0 +1,28 @@
1
+ require 'helper'
2
+
3
+
4
+ class TestFixtureReader < MiniTest::Unit::TestCase
5
+
6
+ def test_read
7
+ path = "#{TextUtils.root}/test/cl_all.txt"
8
+ puts "[TestFixtureReader.test_read] path: #{path}"
9
+
10
+ reader = FixtureReader.new( path )
11
+
12
+ ary = [
13
+ 'europe-champions-league!/leagues',
14
+ 'europe-champions-league!/2011_12/cl',
15
+ 'europe-champions-league!/2011_12/el',
16
+ 'europe-champions-league!/2012_13/cl',
17
+ 'europe-champions-league!/2012_13/el',
18
+ 'europe-champions-league!/2013_14/cl' ]
19
+
20
+ i=0
21
+ reader.each do |fx|
22
+ assert_equal ary[i], fx
23
+ i+=1
24
+ end
25
+ end # method test_read
26
+
27
+ end # class TestFixtureReader
28
+
data/test/test_slugify.rb CHANGED
@@ -23,12 +23,12 @@ class TestSlugify < MiniTest::Unit::TestCase
23
23
  [ 'Al-Kharṭūm', 'al-khartum' ],
24
24
  [ 'Ṭarābulus', 'tarabulus' ],
25
25
  [ 'Al-Iskandarīyah', 'al-iskandariyah' ],
26
- [ 'Pex̌awar', 'pexawar'],
27
26
  [ 'Pishōr', 'pishor' ],
28
27
  [ 'Pishāwar', 'pishawar' ],
29
28
  [ 'Islām ābād', 'islam-abad' ],
30
29
  [ 'Thành Phố Hồ Chí Minh', 'thanh-pho-ho-chi-minh' ],
31
- [ 'Åland Islands', 'aland-islands' ]
30
+ [ 'Åland Islands', 'aland-islands' ],
31
+ [ "Pe\u{030C}awar", 'pexawar'] ## note: use unicode literal; Pex̌awar -- see en.wikipedia.org/wiki/Peshawar
32
32
  ]
33
33
 
34
34
  txt_io.each do |txt|
@@ -37,7 +37,6 @@ class TestTitleHelper < MiniTest::Unit::TestCase
37
37
  [ 'Al-Kharṭūm [Khartoum]', 'alkhartum' ],
38
38
  [ 'Ṭarābulus [Tripoli]', 'tarabulus' ],
39
39
  [ 'Al-Iskandarīyah [Alexandria]', 'aliskandariyah' ],
40
- [ 'Pex̌awar', 'pexawar'],
41
40
  [ 'Pishōr', 'pishor' ],
42
41
  [ 'Pishāwar', 'pishawar' ],
43
42
  [ 'Islām ābād', 'islamabad' ],
@@ -62,7 +61,8 @@ class TestTitleHelper < MiniTest::Unit::TestCase
62
61
  [ 'Ḫamīs Mušayṭ', 'hamismusayt'],
63
62
  [ "Ṣan'ā' [Sana'a]", 'sana'],
64
63
  [ "P'yŏngyang [Pyongyang]", 'pyongyang' ],
65
- [ 'Kāṭhmāḍaũ [Kathmandu]', 'kathmadau' ]
64
+ [ 'Kāṭhmāḍaũ [Kathmandu]', 'kathmadau' ],
65
+ [ "Pe\u{030C}awar", 'pexawar'] ## note: use unicode literal; Pex̌awar -- see en.wikipedia.org/wiki/Peshawar
66
66
  ]
67
67
 
68
68
  txt_io.each do |txt|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: textutils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-28 00:00:00.000000000 Z
11
+ date: 2014-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: props
@@ -125,9 +125,11 @@ files:
125
125
  - lib/textutils/title.rb
126
126
  - lib/textutils/utils.rb
127
127
  - lib/textutils/version.rb
128
+ - test/cl_all.txt
128
129
  - test/helper.rb
129
130
  - test/test_address_helper.rb
130
131
  - test/test_asciify.rb
132
+ - test/test_fixture_reader.rb
131
133
  - test/test_hypertext_helper.rb
132
134
  - test/test_slugify.rb
133
135
  - test/test_taglist.rb
@@ -166,6 +168,7 @@ summary: textutils - Text Filters, Helpers, Readers and More
166
168
  test_files:
167
169
  - test/test_address_helper.rb
168
170
  - test/test_asciify.rb
171
+ - test/test_fixture_reader.rb
169
172
  - test/test_hypertext_helper.rb
170
173
  - test/test_slugify.rb
171
174
  - test/test_taglist.rb