trac-wiki 0.3.23 → 0.3.24

Sign up to get free protection for your applications and to get access to all the features.
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