multi_typograf 0.0.2

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.
@@ -0,0 +1,66 @@
1
+ require 'rspec/core/formatters/base_text_formatter'
2
+ require File.expand_path('../html_printer', __FILE__)
3
+
4
+ class ReportFormatter < RSpec::Core::Formatters::BaseTextFormatter
5
+
6
+ def initialize(output)
7
+ super(output)
8
+ @printer = HtmlPrinter.new(output)
9
+
10
+ # @output = output
11
+ @adapter = nil
12
+ @table = {}
13
+ @table_header = {}
14
+ end
15
+
16
+ private
17
+ def method_missing(m, *a, &b)
18
+ # no-op
19
+ end
20
+
21
+ public
22
+
23
+ def example_group_started(example_group)
24
+ super(example_group)
25
+ if example_group.parent_groups.size == 2
26
+ @adapter = example_group.description
27
+ end
28
+ end
29
+
30
+ def example_add(example, val)
31
+ @table[example.description] ||= {}
32
+ @table[example.description][@adapter] = val || example.execution_result[:exception].to_s
33
+ @table_header[@adapter] = true
34
+ end
35
+
36
+ def example_passed(example)
37
+ example_add(example, true)
38
+ end
39
+
40
+ def example_failed(example)
41
+ example_add(example, false)
42
+ # exception = example.metadata[:execution_result][:exception]
43
+ # exception_details = if exception
44
+ # {
45
+ # :message => exception.message,
46
+ # :backtrace => format_backtrace(exception.backtrace, example).join("\n")
47
+ # }
48
+ # else
49
+ # false
50
+ # end
51
+ end
52
+
53
+ def dump_summary(duration, example_count, failure_count, pending_count)
54
+ @printer.print_table(@table, @table_header)
55
+
56
+ @printer.print_summary(
57
+ dry_run?,
58
+ duration,
59
+ example_count,
60
+ failure_count,
61
+ pending_count
62
+ )
63
+
64
+ @printer.flush
65
+ end
66
+ end
@@ -0,0 +1,397 @@
1
+ # encoding: utf-8
2
+
3
+ shared_examples_for "an adapter" do |adapter|
4
+
5
+ before do
6
+ begin
7
+ MultiTypograf.use adapter
8
+ rescue LoadError
9
+ pending "Adapter #{adapter} couldn't be loaded (not installed?)"
10
+ end
11
+ end
12
+
13
+ OPT = {
14
+ :use_p => false, :use_br => false, :entity_type => :html,
15
+ :nowraped => {:nonbsp => 0}, :paragraph => {:insert => 0}, :symbols => 0
16
+ } unless defined? OPT
17
+
18
+ describe '.process' do
19
+ it 'Удаление лишних пробельных символов и табуляций' do
20
+ text = "В этом тексте \t много пробелов."
21
+ text_processed = 'В&nbsp;этом тексте много пробелов.'
22
+ MultiTypograf.process(text, OPT).should eq text_processed
23
+ end
24
+
25
+ it 'Удаление повторяющихся слов' do
26
+ text = 'При при проверке текста обнаружились обнаружились повторяющиеся слова слова. Слова убраны.'
27
+ text_processed = 'При проверке текста обнаружились повторяющиеся слова. Слова убраны.'
28
+ MultiTypograf.process(text, OPT).should eq text_processed
29
+ end
30
+
31
+ it 'Расстановка запятых перед а, но' do
32
+ text = 'Мало написать а запятые кто за тебя расставит. Я же расставлял но похоже часть пропустил.'
33
+ text_processed = 'Мало написать, а&nbsp;запятые кто за&nbsp;тебя расставит. Я&nbsp;же расставлял, но&nbsp;похоже часть пропустил.'
34
+ MultiTypograf.process(text, OPT).should eq text_processed
35
+ end
36
+
37
+ it 'Расстановка дефиса перед -то, -либо, -нибудь' do
38
+ text = 'Кто то где то когда то как то что то чем то стукнул. И возможно чего нибудь бы получилось если б кто либо пришел.'
39
+ text_processed = '<nobr>Кто-то</nobr> <nobr>где-то</nobr> <nobr>когда-то</nobr> <nobr>как-то</nobr> <nobr>что-то</nobr> <nobr>чем-то</nobr> стукнул. И&nbsp;возможно <nobr>чего-нибудь</nobr>&nbsp;бы получилось если&nbsp;б <nobr>кто-либо</nobr> пришел.'
40
+ # Опять же что - то получилось, но как- то не так.
41
+ MultiTypograf.process(text, OPT).should eq text_processed
42
+ end
43
+
44
+ it 'Расстановка дефиса перед -ка, -де, -кась' do
45
+ text = 'Возьми ка детка молока. А коль увижу де, что казнь ему мала, повешу тут же всех судей вокруг стола. Поди кась так.'
46
+ text_processed = '<nobr>Возьми-ка</nobr> детка молока. А&nbsp;коль <nobr>увижу-де</nobr>, что казнь ему мала, повешу тут&nbsp;же всех судей вокруг стола. <nobr>Поди-кась</nobr> так.'
47
+ MultiTypograf.process(text, OPT).should eq text_processed
48
+ end
49
+
50
+ it 'Расстановка дефиса после кое-, кой-' do
51
+ text = 'Кое как дошли. Кой кого встретили. Кое от кого, кое на чем, кой у кого, кое с чьим.'
52
+ text_processed = '<nobr>Кое-как</nobr> дошли. <nobr>Кой-кого</nobr> встретили. Кое от&nbsp;кого, кое на&nbsp;чем, кой у&nbsp;кого, кое с&nbsp;чьим.'
53
+ MultiTypograf.process(text, OPT).should eq text_processed
54
+ end
55
+
56
+ it 'Расстановка дефиса перед -таки' do
57
+ text = 'Секретарь, хотя и чувствовал свое слабое недовольство, все таки радовался наличию таких старушек в активе района. Но хоть и велик был соблазн, я таки успел себя побороть.'
58
+ text_processed = 'Секретарь, хотя и&nbsp;чувствовал свое слабое недовольство, <nobr>все-таки</nobr> радовался наличию таких старушек в&nbsp;активе района. Но&nbsp;хоть и&nbsp;велик был соблазн, я&nbsp;таки успел себя побороть.'
59
+ MultiTypograf.process(text, OPT).should eq text_processed
60
+ end
61
+
62
+ it 'Расстановка дефиса в предлогах из-за, из-под' do
63
+ text = 'Из за леса величаво выплывало солнце. Из под развесистой сирени вдруг с лаем выскочила собака.'
64
+ text_processed = '<nobr>Из-за</nobr> леса величаво выплывало солнце. <nobr>Из-под</nobr> развесистой сирени вдруг с&nbsp;лаем выскочила собака.'
65
+ MultiTypograf.process(text, OPT).should eq text_processed
66
+ end
67
+
68
+ it 'Удаление парных знаков препинания' do
69
+ text = 'Правда!? Правда!!! Неправда??? Честно?? Честно!! Проехали.. Задумчиво...'
70
+ text_processed = 'Правда?! Правда!!! Неправда??? Честно? Честно! Проехали. Задумчиво&hellip;'
71
+ MultiTypograf.process(text, OPT).should eq text_processed
72
+ end
73
+
74
+ it 'Удаление пробелов перед знаками препинания' do
75
+ text = 'Некоторые виды деревьев : ель ,сосна , берёза, дуб ; растут в наших лесах .'
76
+ text_processed = 'Некоторые виды деревьев: ель, сосна, берёза, дуб; растут в&nbsp;наших лесах.'
77
+ MultiTypograf.process(text, OPT).should eq text_processed
78
+ end
79
+
80
+ it 'Расстановка пробелов после знака препинания' do
81
+ text = 'Так бывает.И вот так...И ещё вот так!..Бывает же???Что поделать. Вывод:верен.'
82
+ text_processed = 'Так бывает. И&nbsp;вот так&hellip; И&nbsp;ещё вот так!.. Бывает&nbsp;же??? Что поделать. Вывод: верен.'
83
+ MultiTypograf.process(text, OPT).should eq text_processed
84
+ end
85
+
86
+ it 'Удаление пробела перед символом процент' do
87
+ text = '100 %'
88
+ text_processed = '100%'
89
+ MultiTypograf.process(text, OPT).should eq text_processed
90
+ end
91
+
92
+ it 'Удаление пробелов внутри скобок' do
93
+ text = 'Текст( ( Внутри ) скобок ).'
94
+ text_processed = 'Текст((Внутри) скобок).'
95
+ MultiTypograf.process(text, OPT).should eq text_processed
96
+ end
97
+
98
+ # it 'Расстановка пробела перед скобками' do
99
+ # text = 'Текст(Внутри скобок).'
100
+ # text_processed = 'Текст (Внутри скобок).'
101
+ # MultiTypograf.process(text, OPT).should eq text_processed
102
+ # end
103
+
104
+ it 'Выделение прямой речи' do
105
+ text = '- Я пошёл домой... - Может останешься? - Нет, ухожу.'
106
+ text_processed = '&mdash;&nbsp;Я&nbsp;пошёл домой&hellip; &mdash;&nbsp;Может останешься? &mdash;&nbsp;Нет, ухожу.'
107
+ MultiTypograf.process(text, OPT).should eq text_processed
108
+ end
109
+
110
+ it 'Привязка союзов, предлогов' do
111
+ text = 'Я бы в лётчики б пошёл, пусть меня научат.'
112
+ text_processed = 'Я&nbsp;бы в&nbsp;лётчики&nbsp;б пошёл, пусть меня научат.'
113
+ MultiTypograf.process(text, OPT).should eq text_processed
114
+ end
115
+
116
+ it 'Замена x на символ × в размерных единицах' do
117
+ text = '3х4, 3 х 6'
118
+ text_processed = '3&times;4, 3&times;6'
119
+ MultiTypograf.process(text, OPT).should eq text_processed
120
+ end
121
+
122
+ it 'Замена дробей 1/2, 1/4, 3/4 на соответствующие символы' do
123
+ text = '1/2, 1/4, 3/4, 123/432'
124
+ text_processed = '&frac12;, &frac14;, &frac34;, 123/432'
125
+ MultiTypograf.process(text, OPT).should eq text_processed
126
+ end
127
+
128
+ it 'Замена (R) на символ зарегистрированной торговой марки' do
129
+ text = 'Coca-Cola(r) - зарегистрированный товарный знак.'
130
+ text_processed = '<nobr>Coca-Cola</nobr><sup><small>&reg;</small></sup>&nbsp;&mdash; зарегистрированный товарный знак.'
131
+ MultiTypograf.process(text, OPT).should eq text_processed
132
+ end
133
+
134
+ it 'Замена (c) на символ копирайт' do
135
+ text = '(c) Eugene Spearance'
136
+ text_processed = '&copy; Eugene Spearance'
137
+ MultiTypograf.process(text, OPT).should eq text_processed
138
+ end
139
+
140
+ it 'Замена (tm) на символ торговой марки' do
141
+ text = 'ВасяПупкин(tm)'
142
+ text_processed = 'ВасяПупкин&trade;'
143
+ MultiTypograf.process(text, OPT).should eq text_processed
144
+ end
145
+
146
+ it 'Тире в конце строки (стихотворная форма)' do
147
+ text = %q{Раздобудь к утру ковёр -
148
+ Шитый золотом узор!..
149
+ Государственное дело, -
150
+ Расшибись, а будь добёр!}
151
+ text_processed = %q{Раздобудь к&nbsp;утру ковёр &mdash;<br />\nШитый золотом узор!..<br />\nГосударственное дело, &mdash;<br />\nРасшибись, а&nbsp;будь добёр!}
152
+ MultiTypograf.process(text, OPT).should eq text_processed
153
+ end
154
+
155
+ it 'Расстановка знака минус между числами' do
156
+ text = '123-32'
157
+ text_processed = '123&ndash;32'
158
+ MultiTypograf.process(text, OPT).should eq text_processed
159
+ end
160
+
161
+ it 'Расстановка правильного апострофа в английских текстах' do
162
+ text = "don't"
163
+ text_processed = 'don&rsquo;t'
164
+ MultiTypograf.process(text, OPT).should eq text_processed
165
+ end
166
+
167
+ it 'Замена символа параграф с привязкой к числу' do
168
+ text = '§32, §IV'
169
+ text_processed = '&sect;&nbsp;32, &sect;&nbsp;IV'
170
+ MultiTypograf.process(text, OPT).should eq text_processed
171
+ end
172
+
173
+ it 'Замена символа номер с привязкой к числу' do
174
+ text = '№15Ф, №34/25'
175
+ text_processed = '&#8470;&nbsp;15Ф, &#8470;&nbsp;34/25'
176
+ MultiTypograf.process(text, OPT).should eq text_processed
177
+ end
178
+
179
+ it 'Расстановка правильных «тройных» кавычек' do
180
+ text = 'Она добавила: "И цвет мой самый любимый - "эсмеральда"".'
181
+ text_processed = 'Она добавила: &laquo;И&nbsp;цвет мой самый любимый&nbsp;&mdash; &bdquo;эсмеральда&ldquo;&raquo;.'
182
+ MultiTypograf.process(text, OPT).should eq text_processed
183
+ end
184
+
185
+ # it 'Расстановка вложенных пар кавычек' do
186
+ # text = ''
187
+ # text_processed = ''
188
+ # MultiTypograf.process(text, OPT).should eq text_processed
189
+ # end
190
+
191
+ it 'Расстановка пробелов и привязка в денежных сокращениях' do
192
+ text = '10,34руб., 23тыс.долл., 64 млн.евро, 34.3€, 56$, 3,65уе'
193
+ text_processed = '10,34&nbsp;руб., 23&nbsp;тыс.&nbsp;долл., 64&nbsp;млн.&nbsp;евро, 34.3&nbsp;&euro;, 56&nbsp;$, 3,65&nbsp;у.е.'
194
+ MultiTypograf.process(text, OPT).should eq text_processed
195
+ end
196
+
197
+ it 'Объединение сокращений и т.д., и т.п., в т.ч.' do
198
+ text = 'Лес, газ, нефть и тд., и т.п.. Перины, подушки в тч. подушки-думки.'
199
+ text_processed = 'Лес, газ, нефть <nobr>и т. д.</nobr>, <nobr>и т. п.</nobr> Перины, подушки <nobr>в т. ч.</nobr> <nobr>подушки-думки</nobr>.'
200
+ MultiTypograf.process(text, OPT).should eq text_processed
201
+ end
202
+
203
+ it 'Расстановка пробелов перед сокращениями см., им.' do
204
+ text = 'Данные изложены в таблице см.цветной вкладыш. Дом им.Пушкина.'
205
+ text_processed = 'Данные изложены в&nbsp;таблице см.&nbsp;цветной вкладыш. Дом им.&nbsp;Пушкина.'
206
+ MultiTypograf.process(text, OPT).should eq text_processed
207
+ end
208
+
209
+ it 'Расстановка пробелов перед сокращениями гл., стр., рис., илл.' do
210
+ text = 'Инструкцию см. гл. 8, стр.34, рис.3 или илл.3.'
211
+ text_processed = 'Инструкцию см.&nbsp;гл.&nbsp;8, стр.&nbsp;34, рис.&nbsp;3 или илл.&nbsp;3.'
212
+ MultiTypograf.process(text, OPT).should eq text_processed
213
+ end
214
+
215
+ it 'Объединение сокращений и др.' do
216
+ text = 'Оля, Иван, Олег и др. ребята.'
217
+ text_processed = 'Оля, Иван, Олег и&nbsp;др. ребята.'
218
+ MultiTypograf.process(text, OPT).should eq text_processed
219
+ end
220
+
221
+ it 'Расстановка пробелов в сокращениях г., ул., пер., д.' do
222
+ text = 'г.Тюмень, ул.Ленина, д. 4'
223
+ text_processed = 'г.&nbsp;Тюмень, ул.&nbsp;Ленина, д. 4'
224
+ MultiTypograf.process(text, OPT).should eq text_processed
225
+ end
226
+
227
+ it 'Расстановка пробелов перед сокращениями dpi, lpi' do
228
+ text = 'Разрешение 300dpi (для офсета).'
229
+ text_processed = 'Разрешение 300&nbsp;dpi (для офсета).'
230
+ MultiTypograf.process(text, OPT).should eq text_processed
231
+ end
232
+
233
+ it 'Объединение сокращений P.S., P.P.S.' do
234
+ text = 'P.S. привет всем. P.P.S. и мне тоже.'
235
+ text_processed = '<nobr>P. S.</nobr> привет всем. <nobr>P. P. S.</nobr> и&nbsp;мне тоже.'
236
+ MultiTypograf.process(text, OPT).should eq text_processed
237
+ end
238
+
239
+ it 'Объединение в неразрывные конструкции слов с дефисом.' do
240
+ text = 'Жёлто-оранжевый цвет. Ростов-на-Дону красивый город.'
241
+ text_processed = '<nobr>Жёлто-оранжевый</nobr> цвет. <nobr>Ростов-на-Дону</nobr> красивый город.'
242
+ MultiTypograf.process(text, OPT).should eq text_processed
243
+ end
244
+
245
+ it 'Привязка сокращений форм собственности к названиям организаций' do
246
+ text = 'ООО "Фирма "Терминал", НИИ "ОблСнабВротКомпот"'
247
+ text_processed = '<nobr>ООО &laquo;Фирма &laquo;Терминал&raquo;</nobr>, <nobr>НИИ &laquo;ОблСнабВротКомпот&raquo;</nobr>'
248
+ MultiTypograf.process(text, OPT).should eq text_processed
249
+ end
250
+
251
+ it 'Объединение в неразрывные конструкции номеров телефонов' do
252
+ text = '+7 (3452) 55-66-77, 8 905 555-55-55'
253
+ text_processed = '<nobr>+7 (3452) 55-66-77</nobr>, <nobr>8 905 555-55-55</nobr>'
254
+ MultiTypograf.process(text, OPT).should eq text_processed
255
+ end
256
+
257
+ it 'Привязка сокращения ГОСТ к номеру' do
258
+ text = 'Гост 5773-90 - российские стандартные форматы изданий'
259
+ text_processed = '<nobr>ГОСТ 5773&ndash;90 &mdash;</nobr> российские стандартные форматы изданий'
260
+ MultiTypograf.process(text, OPT).should eq text_processed
261
+ end
262
+
263
+ it 'Установка пробельных символов в сокращении вольт' do
264
+ text = '~23,5в'
265
+ text_processed = '<nobr>~23,5 В</nobr>'
266
+ MultiTypograf.process(text, OPT).should eq text_processed
267
+ end
268
+
269
+ it 'Объединение триад чисел' do
270
+ text = '123 456 789 руб. В стычке участвовало 3 200 человек.'
271
+ text_processed = '123&nbsp;456&nbsp;789&nbsp;руб. В&nbsp;стычке участвовало 3&nbsp;200 человек.'
272
+ MultiTypograf.process(text, OPT).should eq text_processed
273
+ end
274
+
275
+ it 'Объединение IP-адресов' do
276
+ text = 'Адрес localhost - 127.0.0.1'
277
+ text_processed = 'Адрес localhost&nbsp;&mdash; <nobr>127.0.0.1</nobr>'
278
+ MultiTypograf.process(text, OPT).should eq text_processed
279
+ end
280
+
281
+ it 'Установка тире и пробельных символов в периодах дат' do
282
+ text = 'Это событие произошло между 1999-2001г.г., на стыке XX-XXIв.'
283
+ text_processed = 'Это событие произошло между <nobr>1999&mdash;2001 гг.</nobr>, на&nbsp;стыке <nobr>XX&mdash;XXI вв.</nobr>'
284
+ MultiTypograf.process(text, OPT).should eq text_processed
285
+ end
286
+
287
+ it 'Привязка года к дате' do
288
+ text = 'Документ был подписан 17.02.1983г. И утратил свою силу 07.03.93 года.'
289
+ text_processed = 'Документ был подписан <nobr>17.02.1983 г.</nobr> И&nbsp;утратил свою силу <nobr>07.03.93</nobr> года.'
290
+ MultiTypograf.process(text, OPT).should eq text_processed
291
+ end
292
+
293
+ it 'Расстановка тире и объединение в неразрывные периоды дней' do
294
+ text = 'Собеседования состоятся 14-24 сентября, в актовом зале с 11:30-13:00.'
295
+ text_processed = 'Собеседования состоятся <nobr>14&mdash;24 сентября</nobr>, в&nbsp;актовом зале с&nbsp;<nobr>11:30&mdash;13:00</nobr>.'
296
+ MultiTypograf.process(text, OPT).should eq text_processed
297
+ end
298
+
299
+ it 'Расстановка тире и объединение в неразрывные периоды месяцев' do
300
+ text = 'Выставка пройдёт в апреле-мае этого года.'
301
+ text_processed = 'Выставка пройдёт в&nbsp;апреле&mdash;мае этого года.'
302
+ MultiTypograf.process(text, OPT).should eq text_processed
303
+ end
304
+
305
+ it 'Привязка сокращений до н.э., н.э.' do
306
+ text = 'IV в до н.э, в V-VIвв до нэ., третий в. н.э.'
307
+ text_processed = 'IV&nbsp; <nobr>в. до н. э.</nobr>, в&nbsp;<nobr>V&mdash;VI вв. до н. э.</nobr>, третий <nobr>в. н. э.</nobr>'
308
+ MultiTypograf.process(text, OPT).should eq text_processed
309
+ end
310
+
311
+ it 'Привязка инициалов к фамилиям' do
312
+ text = 'А.С.Пушкин, Пушкин А.С.'
313
+ text_processed = '<nobr>А. С. Пушкин</nobr>, Пушкин А.С.'
314
+ MultiTypograf.process(text, OPT).should eq text_processed
315
+ end
316
+
317
+ # it 'Замена символа градус, плюс-минус' do
318
+ # text = ''
319
+ # text_processed = ''
320
+ # MultiTypograf.process(text, OPT).should eq text_processed
321
+ # end
322
+
323
+ it 'Замена символов и привязка сокращений в размерных величинах: м, см, м2…' do
324
+ text = 'На лесопилку завезли 32 м3 леса, из которых 4м3 пустили под распил на 25мм доски, длинной по 6м.'
325
+ text_processed = 'На&nbsp;лесопилку завезли 32&nbsp;м&sup3; леса, из&nbsp;которых 4&nbsp;м&sup3; пустили под распил на&nbsp;25&nbsp;мм доски, длинной по&nbsp;6&nbsp;м.'
326
+ MultiTypograf.process(text, OPT).should eq text_processed
327
+ end
328
+
329
+ # ...Когда В. И. Пупкин увидел в газете ( это была &quot;Сермяжная правда&quot; № 45) рубрику Weather Forecast(r), он не поверил своим глазам - температуру обещали +-451F.
330
+ # Пушкин, оценивая всех своих предшественников, писал: &quot;... Некоторые оды Державина, несмотря на неправильность языка и неровность слога, исполнены порывами гения...&quot;
331
+
332
+ it 'Повторное типографирование текста' do
333
+ text = '<p><nobr>Coca-Cola</nobr><sup><small>&reg;</small></sup>&nbsp;&mdash; зарегистрированный товарный знак.</p>'
334
+ text_processed = '<p><nobr>Coca-Cola</nobr><sup><small>&reg;</small></sup>&nbsp;&mdash; зарегистрированный товарный знак.</p>'
335
+ MultiTypograf.process(text, OPT).should eq text_processed
336
+ end
337
+
338
+ it 'Обработка HTML' do
339
+ text = '<!-- В тексте попался комментарий -->'
340
+ text_processed = text.dup
341
+ MultiTypograf.process(text, OPT).should eq text_processed
342
+ end
343
+
344
+ it 'Обработка CSS' do
345
+ text = %q{<style type="text/css">
346
+ SPAN.nobr { white-space: nowrap }
347
+ </style>}
348
+ text_processed = text.dup
349
+ MultiTypograf.process(text, OPT).should eq text_processed
350
+ end
351
+
352
+ it 'Обработка JavaScript' do
353
+ text = "<script type='text/javascript'>document.write('Этот текст не должен быть типографирован.')</script>"
354
+ text_processed = text.dup
355
+ MultiTypograf.process(text, OPT).should eq text_processed
356
+ end
357
+
358
+ it 'Обработка тегов <pre>' do
359
+ text = %q{<pre> Я не хотел бы
360
+ чтобы этот текст
361
+ был форматирован.</pre>}
362
+ text_processed = text.dup
363
+ MultiTypograf.process(text, OPT).should eq text_processed
364
+ end
365
+
366
+ it 'Выделение ссылок из текста' do
367
+ text = 'В тексте встретилась ссылка: http://www.typograf.ru'
368
+ text_processed = 'В&nbsp;тексте встретилась ссылка: <a href="http://www.typograf.ru">http://www.typograf.ru</a>'
369
+ MultiTypograf.process(text, OPT).should eq text_processed
370
+ end
371
+
372
+ it 'Выделение e-mail из текста' do
373
+ text = 'В тексте встретился e-mail: mail@typograf.ru'
374
+ text_processed = 'В&nbsp;тексте встретился <nobr>e-mail</nobr>: <a href="mailto:mail@typograf.ru">mail@typograf.ru</a>'
375
+ MultiTypograf.process(text, OPT).should eq text_processed
376
+ end
377
+
378
+ # it 'Обработка списков' do
379
+ # text = ''
380
+ # # * Программное обеспечение
381
+ # # ** Операционные системы
382
+ # # +++ Windows XP
383
+ # # +++ Linux RedHat
384
+ # # +++ MacOS X
385
+ # # ** Текстовые радакторы
386
+ # # * Компьютеры
387
+ # text_processed = ''
388
+ # MultiTypograf.process(text, OPT).should eq text_processed
389
+ # end
390
+
391
+ it 'Выделение акронимов' do
392
+ text = '<p>Все что вы хотели узнать о HTML.</p>'
393
+ text_processed = '<p>Все что вы&nbsp;хотели узнать о&nbsp;<acronym title="HyperText Markup Language" lang="en">HTML</acronym>.</p>'
394
+ MultiTypograf.process(text, OPT).should eq text_processed
395
+ end
396
+ end
397
+ end