breakout_parser 0.0.3-x86-mswin32 → 0.0.4-x86-mswin32
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.
Binary file
|
data/spec/parser_spec.rb
CHANGED
@@ -168,23 +168,23 @@ describe 'BreakoutParser' do
|
|
168
168
|
{'ul' => '*', 'ol' => '#'}.each do |l,c|
|
169
169
|
it "raw text link inside #{l.upcase}> #1" do
|
170
170
|
s = "#{c} aaa http://www.ru"
|
171
|
-
parse(s).should == "<#{l}><li>aaa <a href=\"http://www.ru\">http://www.ru</a></li></#{l}>"
|
171
|
+
parse(s).should == "<#{l}><li>aaa <a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a></li></#{l}>"
|
172
172
|
end
|
173
173
|
it "raw text link inside #{l.upcase}> #2" do
|
174
174
|
s = "#{c} aaa http://www.ru\n#{c} bbb"
|
175
|
-
parse(s).should == "<#{l}><li>aaa <a href=\"http://www.ru\">http://www.ru</a></li><li>bbb</li></#{l}>"
|
175
|
+
parse(s).should == "<#{l}><li>aaa <a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a></li><li>bbb</li></#{l}>"
|
176
176
|
end
|
177
177
|
it "raw text link inside #{l.upcase}> #3" do
|
178
178
|
s = "#{c} http://www.ru"
|
179
|
-
parse(s).should == "<#{l}><li><a href=\"http://www.ru\">http://www.ru</a></li></#{l}>"
|
179
|
+
parse(s).should == "<#{l}><li><a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a></li></#{l}>"
|
180
180
|
end
|
181
181
|
it "raw text link inside #{l.upcase}> #4" do
|
182
182
|
s = "#{c} aaa http://www.ru bbb"
|
183
|
-
parse(s).should == "<#{l}><li>aaa <a href=\"http://www.ru\">http://www.ru</a> bbb</li></#{l}>"
|
183
|
+
parse(s).should == "<#{l}><li>aaa <a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a> bbb</li></#{l}>"
|
184
184
|
end
|
185
185
|
it "two links inside #{l.upcase}>" do
|
186
186
|
s = "#{c} aaa http://www.ru http://ya.ru bbb"
|
187
|
-
parse(s).should == "<#{l}><li>aaa <a href=\"http://www.ru\">http://www.ru</a> <a href=\"http://ya.ru\">http://ya.ru</a> bbb</li></#{l}>"
|
187
|
+
parse(s).should == "<#{l}><li>aaa <a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a> <a rel=\"nofollow\" href=\"http://ya.ru\">http://ya.ru</a> bbb</li></#{l}>"
|
188
188
|
end
|
189
189
|
end
|
190
190
|
end
|
@@ -303,34 +303,34 @@ describe 'BreakoutParser' do
|
|
303
303
|
|
304
304
|
describe "raw text links" do
|
305
305
|
it "at the beginning" do
|
306
|
-
parse("http://www.ru").should == "<a href=\"http://www.ru\">http://www.ru</a>"
|
306
|
+
parse("http://www.ru").should == "<a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a>"
|
307
307
|
end
|
308
308
|
it "in middle of other words" do
|
309
309
|
parse("aaa bbb ccc http://www.ru ddd eee fff").should ==
|
310
|
-
"aaa bbb ccc <a href=\"http://www.ru\">http://www.ru</a> ddd eee fff"
|
310
|
+
"aaa bbb ccc <a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a> ddd eee fff"
|
311
311
|
end
|
312
312
|
it "in new line" do
|
313
313
|
parse("aaa bbb ccc\nhttp://www.ru\nddd eee fff").should match(
|
314
|
-
%r"aaa bbb ccc ?<br /> ?<a href=\"http://www.ru\">http://www.ru</a> ?<br /> ?ddd eee fff"
|
314
|
+
%r"aaa bbb ccc ?<br /> ?<a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a> ?<br /> ?ddd eee fff"
|
315
315
|
)
|
316
316
|
end
|
317
317
|
it "escapes '&' in link _text_" do
|
318
|
-
parse("http://www.ru/?a=1&b=2").should == "<a href=\"http://www.ru/?a=1&b=2\">http://www.ru/?a=1&b=2</a>"
|
318
|
+
parse("http://www.ru/?a=1&b=2").should == "<a rel=\"nofollow\" href=\"http://www.ru/?a=1&b=2\">http://www.ru/?a=1&b=2</a>"
|
319
319
|
end
|
320
320
|
|
321
321
|
it "parses https://" do
|
322
|
-
parse("https://www.ru").should == "<a href=\"https://www.ru\">https://www.ru</a>"
|
322
|
+
parse("https://www.ru").should == "<a rel=\"nofollow\" href=\"https://www.ru\">https://www.ru</a>"
|
323
323
|
end
|
324
324
|
|
325
325
|
%w', .'.each do |c|
|
326
326
|
it "stops parsing on \"#{c} \"" do
|
327
|
-
parse("http://www.ru#{c}").should == "<a href=\"http://www.ru\">http://www.ru</a>#{c}"
|
328
|
-
parse(" http://www.ru#{c} ").should == "<a href=\"http://www.ru\">http://www.ru</a>#{c}"
|
329
|
-
parse(" http://www.ru#{c} hello!").should == "<a href=\"http://www.ru\">http://www.ru</a>#{c} hello!"
|
330
|
-
parse("xxx http://www.ru#{c} hello!").should == "xxx <a href=\"http://www.ru\">http://www.ru</a>#{c} hello!"
|
331
|
-
parse(" http://www.ru/#{c} hello!").should == "<a href=\"http://www.ru/\">http://www.ru/</a>#{c} hello!"
|
327
|
+
parse("http://www.ru#{c}").should == "<a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a>#{c}"
|
328
|
+
parse(" http://www.ru#{c} ").should == "<a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a>#{c}"
|
329
|
+
parse(" http://www.ru#{c} hello!").should == "<a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a>#{c} hello!"
|
330
|
+
parse("xxx http://www.ru#{c} hello!").should == "xxx <a rel=\"nofollow\" href=\"http://www.ru\">http://www.ru</a>#{c} hello!"
|
331
|
+
parse(" http://www.ru/#{c} hello!").should == "<a rel=\"nofollow\" href=\"http://www.ru/\">http://www.ru/</a>#{c} hello!"
|
332
332
|
parse(" http://aaa.com#{c} http://bbb.com").should ==
|
333
|
-
"<a href=\"http://aaa.com\">http://aaa.com</a>#{c} <a href=\"http://bbb.com\">http://bbb.com</a>"
|
333
|
+
"<a rel=\"nofollow\" href=\"http://aaa.com\">http://aaa.com</a>#{c} <a rel=\"nofollow\" href=\"http://bbb.com\">http://bbb.com</a>"
|
334
334
|
end
|
335
335
|
end
|
336
336
|
end
|
@@ -572,12 +572,17 @@ describe 'BreakoutParser' do
|
|
572
572
|
a["r:2345"] = '<a href="http://code.assembla.com/test_space/svn/changesets/2345">revision:2345</a>'
|
573
573
|
a["r:2345ef"] = '<a href="http://code.assembla.com/test_space/git/changesets/2345ef">revision:2345ef</a>'
|
574
574
|
|
575
|
-
a["url:http://www.ru"] = '<a href="http://www.ru">http://www.ru</a>'
|
576
|
-
a["url:https://www.ru"] = '<a href="https://www.ru">https://www.ru</a>'
|
577
|
-
a["url:www.ru"] = '<a href="http://www.ru">http://www.ru</a>'
|
578
|
-
a["url:www.ru/?a=1&b=2"] = '<a href="http://www.ru/?a=1&b=2">http://www.ru/?a=1&b=2</a>'
|
579
|
-
a["url:ftp://www.ru"] = '<a href="ftp://www.ru">ftp://www.ru</a>'
|
580
|
-
a["url:/spaces/x2"] = '<a href="/spaces/x2">/spaces/x2</a>'
|
575
|
+
a["url:http://www.ru"] = '<a rel="nofollow" href="http://www.ru">http://www.ru</a>'
|
576
|
+
a["url:https://www.ru"] = '<a rel="nofollow" href="https://www.ru">https://www.ru</a>'
|
577
|
+
a["url:www.ru"] = '<a rel="nofollow" href="http://www.ru">http://www.ru</a>'
|
578
|
+
a["url:www.ru/?a=1&b=2"] = '<a rel="nofollow" href="http://www.ru/?a=1&b=2">http://www.ru/?a=1&b=2</a>'
|
579
|
+
a["url:ftp://www.ru"] = '<a rel="nofollow" href="ftp://www.ru">ftp://www.ru</a>'
|
580
|
+
a["url:/spaces/x2"] = '<a rel="nofollow" href="/spaces/x2">/spaces/x2</a>'
|
581
|
+
|
582
|
+
a["file:ExistingFile.txt"] =
|
583
|
+
'<a href="/spaces/test_space/documents/download/ExistingFile.txt">file:ExistingFile.txt</a>'
|
584
|
+
a["file:cVJUz6ejWr35pEab_qKWB8"] =
|
585
|
+
'<a href="/spaces/test_space/documents/download/cVJUz6ejWr35pEab_qKWB8">file:cVJUz6ejWr35pEab_qKWB8</a>'
|
581
586
|
|
582
587
|
a.each do |k,v|
|
583
588
|
it "parses [[#{k}]]" do
|
@@ -591,7 +596,25 @@ describe 'BreakoutParser' do
|
|
591
596
|
end
|
592
597
|
end
|
593
598
|
|
594
|
-
|
599
|
+
a = {}
|
600
|
+
a["image:ExistingImage.png"] =
|
601
|
+
'<img src="/spaces/test_space/documents/download/ExistingImage.png" alt="ALT" />'
|
602
|
+
a["image:cVJUz6ejWr35pEab_qKWB8"] =
|
603
|
+
'<img src="/spaces/test_space/documents/download/cVJUz6ejWr35pEab_qKWB8" alt="ALT" />'
|
604
|
+
|
605
|
+
a.each do |k,v|
|
606
|
+
it "parses [[#{k}]]" do
|
607
|
+
parse("[[#{k}]]").should == v.sub('ALT',k.sub('image:',''))
|
608
|
+
end
|
609
|
+
it "parses [[#{k}|привет тест]]" do
|
610
|
+
parse("[[#{k}|привет тест]]").should == v.sub('ALT','привет тест')
|
611
|
+
end
|
612
|
+
it "parses [[#{k}|test & here]]" do
|
613
|
+
parse("[[#{k}|test & here]]").should == v.sub('ALT','test & here')
|
614
|
+
end
|
615
|
+
end
|
616
|
+
|
617
|
+
it "ignores unknown link types" do
|
595
618
|
s = "[[zzz:xxx]]"
|
596
619
|
parse(s).should == s
|
597
620
|
s = "[[abcd:1234]]"
|
@@ -600,10 +623,21 @@ describe 'BreakoutParser' do
|
|
600
623
|
parse(s).should == s
|
601
624
|
end
|
602
625
|
|
603
|
-
it "links
|
604
|
-
|
605
|
-
|
606
|
-
|
626
|
+
it "ignores file & image links with forbidden symbols" do
|
627
|
+
s = "[[file:aaa/bbb]]"
|
628
|
+
parse(s).should == s
|
629
|
+
s = "[[file:aaa\\bbb]]"
|
630
|
+
parse(s).should == s
|
631
|
+
s = "[[file:aaa bbb]]"
|
632
|
+
parse(s).should == s
|
633
|
+
|
634
|
+
s = "[[image:aaa/bbb]]"
|
635
|
+
parse(s).should == s
|
636
|
+
s = "[[image:aaa\\bbb]]"
|
637
|
+
parse(s).should == s
|
638
|
+
s = "[[image:aaa bbb]]"
|
639
|
+
parse(s).should == s
|
640
|
+
end
|
607
641
|
end
|
608
642
|
|
609
643
|
###############################################################################
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: breakout_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: x86-mswin32
|
6
6
|
authors:
|
7
7
|
- Andrey "Zed" Zaikin
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-02-03 00:00:00 +05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|