trac-wiki 0.3.31 → 0.3.32
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 +4 -4
- data/Gemfile.lock +4 -1
- data/lib/trac-wiki/env.rb +4 -4
- data/lib/trac-wiki/parser.rb +12 -2
- data/lib/trac-wiki/version.rb +1 -1
- data/test/parser_test.rb +8 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 486c2d7cf3dd8fbcb005759e6ef0cd9aa95dfc38
|
4
|
+
data.tar.gz: 25938551d6ec9e52aedfc163f738143476d9b406
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f36f872853aa702f736f8d402acf2528ccdd9ff2b203ccbdd7635ae4fa78bf3b6e36e30dbf9e04216be1ae752bcba147ac05e84f4e7d3ede62479a16f7d91aed
|
7
|
+
data.tar.gz: c81847b6bbff57636edd5722165374aa01be69c0a62eee3a3bcdaf2ee2d244fa60f3445ee928dea9bd6c892a86fc7776aff34cdccf846307ec1e58b3c3652896
|
data/Gemfile.lock
CHANGED
data/lib/trac-wiki/env.rb
CHANGED
@@ -101,8 +101,8 @@ module TracWiki
|
|
101
101
|
@env[:cmd_args].size
|
102
102
|
end
|
103
103
|
|
104
|
-
def arg(idx)
|
105
|
-
@env[:cmd_args][idx] || ''
|
104
|
+
def arg(idx, default = nil)
|
105
|
+
@env[:cmd_args][idx] || default || ''
|
106
106
|
end
|
107
107
|
|
108
108
|
def prepare_y
|
@@ -265,8 +265,8 @@ module TracWiki
|
|
265
265
|
end
|
266
266
|
|
267
267
|
# template expand
|
268
|
-
def expand_arg(idx)
|
269
|
-
expand(arg(idx))
|
268
|
+
def expand_arg(idx, default = nil)
|
269
|
+
expand(arg(idx, default))
|
270
270
|
end
|
271
271
|
|
272
272
|
def pp_env
|
data/lib/trac-wiki/parser.rb
CHANGED
@@ -224,6 +224,11 @@ module TracWiki
|
|
224
224
|
},
|
225
225
|
'!ifdef' => proc { |env| env.at(env.expand_arg(0), nil, false).nil? ? env.expand_arg(2) : env.expand_arg(1) },
|
226
226
|
'!set' => proc { |env| env[env.expand_arg(0)] = env.expand_arg(1); '' },
|
227
|
+
'!append'=> proc { |env| key = env.expand_arg(0)
|
228
|
+
sep = env.expand_arg(2,'')
|
229
|
+
env[key] = (env[key].nil? ? '' : env[key] + sep ) + env.expand_arg(1);
|
230
|
+
''
|
231
|
+
},
|
227
232
|
'!yset' => proc { |env| env[env.expand_arg(0)] = YAML.load(env.arg(1)); '' },
|
228
233
|
'!sub' => proc { |env| pat = env.expand_arg(1)
|
229
234
|
pat = Regexp.new(pat[1..-2]) if pat =~ /\A\/.*\/\Z/
|
@@ -423,7 +428,12 @@ module TracWiki
|
|
423
428
|
# markup, for example to add html additional attributes or
|
424
429
|
# to put divs around the imgs.
|
425
430
|
def make_image(uri, attrs='')
|
426
|
-
|
431
|
+
attrs = make_image_attrs(uri, attrs)
|
432
|
+
link = attrs.delete('link')
|
433
|
+
|
434
|
+
@tree.tag_beg(:a, {href: make_explicit_link(link)}) if link
|
435
|
+
@tree.tag(:img, attrs)
|
436
|
+
@tree.tag_end(:a) if link
|
427
437
|
end
|
428
438
|
|
429
439
|
def make_image_attrs(uri, attrs)
|
@@ -439,7 +449,7 @@ module TracWiki
|
|
439
449
|
when /^(top|bottom|middle)$/i
|
440
450
|
a['valign'] = escape_url(opt)
|
441
451
|
when /^link=(.*)$/i
|
442
|
-
|
452
|
+
a['link'] = escape_url($1)
|
443
453
|
when /^nolink$/i
|
444
454
|
# pass
|
445
455
|
when /^(align|valign|border|width|height|alt|title|longdesc|class|id|usemap)=(.*)$/i
|
data/lib/trac-wiki/version.rb
CHANGED
data/test/parser_test.rb
CHANGED
@@ -609,6 +609,8 @@ describe TracWiki::Parser do
|
|
609
609
|
tc("<p><img src=\"image.jpg\"/></p>\n", "[[Image(image.jpg)]]", :no_link=>true)
|
610
610
|
tc("<p><img alt=\"a%22tag%22\" src=\"image.jpg\"/></p>\n", "[[Image(image.jpg,alt=a\"tag\")]]")
|
611
611
|
tc("<p><img alt=\"a%22tag%22\" src=\"image.jpg\"/></p>\n", "[[Image(image.jpg,alt=a\"tag\")]]", :no_link=>true)
|
612
|
+
tc("<p><a href=\"ahoj\"><img alt=\"a%22tag%22\" src=\"image.jpg\"/></a></p>\n", "[[Image(image.jpg,alt=a\"tag\",link=ahoj)]]", :no_link=>true)
|
613
|
+
tc("<p><a href=\"javascript%253Aalert%2528666%2529\"><img alt=\"a%22tag%22\" src=\"image.jpg\"/></a></p>\n", "[[Image(image.jpg,alt=a\"tag\",link=javascript:alert(666))]]", :no_link=>true)
|
612
614
|
|
613
615
|
# Malicious links should not be converted.
|
614
616
|
tc("<p><a href=\"javascript%3Aalert%28%22Boo%21%22%29\">Click</a></p>\n", "[[javascript:alert(\"Boo!\")|Click]]")
|
@@ -1308,6 +1310,12 @@ eos
|
|
1308
1310
|
tc "<p><tt>ahoj </tt></p>\n", "{{!sprintf `%-7s`|ahoj}}"
|
1309
1311
|
tc "<p>(sprintf error:<tt>malformed format string - %*[0-9]</tt>)</p>\n", "{{!sprintf %03|1}}"
|
1310
1312
|
end
|
1313
|
+
it 'should parse !append' do
|
1314
|
+
tc "<p>value</p>\n", "{{!set var|value}}{{$var}}"
|
1315
|
+
tc "<p>value</p>\n", "{{!append var|value}}{{$var}}"
|
1316
|
+
tc "<p>valuebalue</p>\n", "{{!append var|value}}{{!append var|balue}}{{$var}}"
|
1317
|
+
tc "<p>value:balue</p>\n", "{{!append var|value}}{{!append var|balue|:}}{{$var}}"
|
1318
|
+
end
|
1311
1319
|
it 'should parse sprintf' do
|
1312
1320
|
tc "<p><tt>ahoj</tt></p>\n", "{{!tt ahoj}}"
|
1313
1321
|
tc "<p>YWhvanRl</p>\n", "{{!base64 ahojte}}"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trac-wiki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.32
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitas Stradal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bacon
|