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.
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&amp;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&amp;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&amp;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&amp;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
- it "keeps unknown link types" do
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 to ExistingFile.txt"
604
- it "links to NotExistingFile.txt"
605
- it "links to ExistingImage.png"
606
- it "links to NotExistingImage.png"
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.3
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-01-20 00:00:00 +05:00
12
+ date: 2010-02-03 00:00:00 +05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency