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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5e0a2c31f6a8138bebdf78c8f3951b5b362c183d
4
- data.tar.gz: 5495008115fb52b374a50418e53a419dac0497d8
3
+ metadata.gz: 486c2d7cf3dd8fbcb005759e6ef0cd9aa95dfc38
4
+ data.tar.gz: 25938551d6ec9e52aedfc163f738143476d9b406
5
5
  SHA512:
6
- metadata.gz: 4888042f069752ae6192cc3b0b7f6ca84f93c6ede3e559e6f735d4e52e655eac33cf1ed2e96b7b8d322c417769cc4c46848d771e979371c57796de67c79e8f07
7
- data.tar.gz: ad42ebe564e253088819abd52150d7fa5d884804db3ebc9df97f4324dbff408cae20098330a7a3bc713c989766f523ca3563fae45c253681220ca47e7145fc64
6
+ metadata.gz: f36f872853aa702f736f8d402acf2528ccdd9ff2b203ccbdd7635ae4fa78bf3b6e36e30dbf9e04216be1ae752bcba147ac05e84f4e7d3ede62479a16f7d91aed
7
+ data.tar.gz: c81847b6bbff57636edd5722165374aa01be69c0a62eee3a3bcdaf2ee2d244fa60f3445ee928dea9bd6c892a86fc7776aff34cdccf846307ec1e58b3c3652896
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trac-wiki (0.3.31)
4
+ trac-wiki (0.3.32)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -18,3 +18,6 @@ DEPENDENCIES
18
18
  rake
19
19
  trac-wiki!
20
20
  unicode_utils
21
+
22
+ BUNDLED WITH
23
+ 1.13.2
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
@@ -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
- @tree.tag(:img, make_image_attrs(uri, attrs))
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
- # pass
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
@@ -1,3 +1,3 @@
1
1
  module TracWiki
2
- VERSION = '0.3.31'
2
+ VERSION = '0.3.32'
3
3
  end
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.31
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: 2015-04-20 00:00:00.000000000 Z
11
+ date: 2016-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bacon