textutils 0.9.2 → 0.9.3

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.
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