trac-wiki 0.3.23 → 0.3.24

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: 942670f3f5c6d350ff28252441a67a232b7b75a3
4
- data.tar.gz: 5382932ad9aed007e5b76686dd2e6a03819c1635
3
+ metadata.gz: 22a2efb3c9aa6e36324781de0fb805e3a50c6194
4
+ data.tar.gz: c03c21f99e66e561813158eddc82dd3f281e0f49
5
5
  SHA512:
6
- metadata.gz: 27dd2ed6af666127bc3bafdd2be3d13b90ff82ef4c3baa544d392e16e366b573841dc15fc6c697bed3a0e42e2918213d2de827d36391dc744dd25b3a0b409a99
7
- data.tar.gz: 44f3b3b7618e868232f138981d77bfa8f5e0b23a848932d5595aca0d71a47d3e34a6e48889942be6847888497015023630cf6e123eb6c34b1dfe478650a5d12c
6
+ metadata.gz: e2c7e3a974e849c1f29b2dc0ee62b42de0a7ba38e98ce3291de862abf5a837aece98847a8b4a41326d7e5c8474043e80234733c8ae0722dc3eaa64cae47888da
7
+ data.tar.gz: bc5a680d7dd8d2ff824eff79a4c39bd8c64ae879a04e6644f99542bcba49bb654aab43b03c44d1a48443c2f816983bc61a0335d55317ad4b802dccf52c4b7076
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trac-wiki (0.3.22)
4
+ trac-wiki (0.3.23)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/trac-wiki/env.rb CHANGED
@@ -10,11 +10,6 @@ module TracWiki
10
10
  @argv_stack = []
11
11
  end
12
12
 
13
- def nocache!
14
- atput('nocache', true)
15
- self
16
- end
17
-
18
13
  # r: expanded-macro, rest-of-str, lines, offset-in-line
19
14
  def parse_macro_all(macro_name, str, macro_name_size = nil)
20
15
  str_size = str.size
@@ -101,6 +96,11 @@ module TracWiki
101
96
  end
102
97
  "UCMD(#{macro_name}|#{@env['arg']})"
103
98
  end
99
+
100
+ def arg_count
101
+ @env[:cmd_args].size
102
+ end
103
+
104
104
  def arg(idx)
105
105
  @env[:cmd_args][idx] || ''
106
106
  end
@@ -141,7 +141,7 @@ module TracWiki
141
141
  #print "at(#{key}) -> default\n" if cur.nil?
142
142
  if cur.nil?
143
143
  if ! @parser.at_callback.nil?
144
- val = @parser.at_callback.call(key, @env)
144
+ val = @parser.at_callback.call(key, self)
145
145
  return val if ! val.nil?
146
146
  end
147
147
  return default
@@ -197,7 +197,29 @@ module TracWiki
197
197
 
198
198
  def init_macros
199
199
  @macro_commands = {
200
- '!ifeq' => proc { |env| env.expand_arg(0) == env.expand_arg(1) ? env.expand_arg(2) : env.expand_arg(3) },
200
+ '!ifeq' => proc { |env| what = env.expand_arg(0)
201
+ count = env.arg_count
202
+ i = 1
203
+ ret = ''
204
+ while count > i
205
+ argi = env.expand_arg(i)
206
+ # this is else:
207
+ if count <= i + 1
208
+ ret = argi
209
+ break
210
+ end
211
+
212
+ # we found it
213
+ if what == argi
214
+ ret = env.expand_arg(i+1)
215
+ break
216
+ end
217
+
218
+ # next
219
+ i +=2
220
+ end
221
+ ret.sub /\n\s+\Z/, "\n"
222
+ },
201
223
  '!ifdef' => proc { |env| env.at(env.expand_arg(0), nil, false).nil? ? env.expand_arg(2) : env.expand_arg(1) },
202
224
  '!set' => proc { |env| env[env.expand_arg(0)] = env.expand_arg(1); '' },
203
225
  '!yset' => proc { |env| env[env.expand_arg(0)] = YAML.load(env.arg(1)); '' },
@@ -1,3 +1,3 @@
1
1
  module TracWiki
2
- VERSION = '0.3.23'
2
+ VERSION = '0.3.24'
3
3
  end
data/test/parser_test.rb CHANGED
@@ -1013,6 +1013,37 @@ eos
1013
1013
  tc "<p>&nbsp;</p>\n", "&nbsp;"
1014
1014
  tc "<p>&bdquo;text&ldquo;</p>\n", "&bdquo;text&ldquo;"
1015
1015
  end
1016
+ it 'should !ifeq' do
1017
+ tc "<p>ELSE.</p>\n", "{{!ifeq WHAT|C1|A1|C2|A2|C3|A3|ELSE}}."
1018
+ tc "<p>A1.</p>\n", "{{!ifeq C1|C1|A1|C2|A2|C3|A3|ELSE}}."
1019
+ tc "<p>A2.</p>\n", "{{!ifeq C2|C1|A1|C2|A2|C3|A3|ELSE}}."
1020
+ tc "<p>A3.</p>\n", "{{!ifeq C3|C1|A1|C2|A2|C3|A3|ELSE}}."
1021
+ tc "<p>A1.</p>\n", "{{!ifeq C1|C1|A1|C2|A2|C3|A3}}."
1022
+ tc "<p>A2.</p>\n", "{{!ifeq C2|C1|A1|C2|A2|C3|A3}}."
1023
+ tc "<p>A3.</p>\n", "{{!ifeq C3|C1|A1|C2|A2|C3|A3}}."
1024
+ tc "<p>.</p>\n", "{{!ifeq C4|C1|A1|C2|A2|C3|A3}}."
1025
+ tc "<p>A1.</p>\n", "{{!ifeq C1|C1|A1
1026
+ |C2|A2
1027
+ |C3|A3}}."
1028
+ tc "<p>A2.</p>\n", "{{!ifeq C2|C1|A1
1029
+ |C2|A2
1030
+ |C3|A3}}."
1031
+ tc "<p>A3.</p>\n", "{{!ifeq C3|C1|A1
1032
+ |C2|A2
1033
+ |C3|A3}}."
1034
+ tc "<p>.</p>\n", "{{!ifeq C4|C1|A1
1035
+ |C2|A2
1036
+ |C3|A3}}."
1037
+ tc "<p>ELSE.</p>\n", "{{!ifeq C4|C1|A1
1038
+ |C2|A2
1039
+ |C3|A3
1040
+ |ELSE}}."
1041
+ tc "<p>A1.</p>\n", "{{!ifeq C1|C1|A1}}."
1042
+ tc "<p>.</p>\n", "{{!ifeq C4|C1|A1}}."
1043
+ tc "<p>.</p>\n", "{{!ifeq C1|C1|}}."
1044
+ tc "<p>C1.</p>\n", "{{!ifeq C1|C1}}."
1045
+ tc "<p>.</p>\n", "{{!ifeq C1}}."
1046
+ end
1016
1047
  it 'should plugin' do
1017
1048
  tc "<p>AHOJTE!</p>\n", "{{!print AHOJTE}}"
1018
1049
  tc "<p>test:AHOJTE! AHOJTE! </p>\n", "test:{{!print AHOJTE}}{{!print 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.23
4
+ version: 0.3.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitas Stradal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-23 00:00:00.000000000 Z
11
+ date: 2014-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bacon