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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/trac-wiki/env.rb +6 -6
- data/lib/trac-wiki/parser.rb +23 -1
- data/lib/trac-wiki/version.rb +1 -1
- data/test/parser_test.rb +31 -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: 22a2efb3c9aa6e36324781de0fb805e3a50c6194
|
4
|
+
data.tar.gz: c03c21f99e66e561813158eddc82dd3f281e0f49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2c7e3a974e849c1f29b2dc0ee62b42de0a7ba38e98ce3291de862abf5a837aece98847a8b4a41326d7e5c8474043e80234733c8ae0722dc3eaa64cae47888da
|
7
|
+
data.tar.gz: bc5a680d7dd8d2ff824eff79a4c39bd8c64ae879a04e6644f99542bcba49bb654aab43b03c44d1a48443c2f816983bc61a0335d55317ad4b802dccf52c4b7076
|
data/Gemfile.lock
CHANGED
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,
|
144
|
+
val = @parser.at_callback.call(key, self)
|
145
145
|
return val if ! val.nil?
|
146
146
|
end
|
147
147
|
return default
|
data/lib/trac-wiki/parser.rb
CHANGED
@@ -197,7 +197,29 @@ module TracWiki
|
|
197
197
|
|
198
198
|
def init_macros
|
199
199
|
@macro_commands = {
|
200
|
-
'!ifeq' => proc { |env|
|
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)); '' },
|
data/lib/trac-wiki/version.rb
CHANGED
data/test/parser_test.rb
CHANGED
@@ -1013,6 +1013,37 @@ eos
|
|
1013
1013
|
tc "<p> </p>\n", " "
|
1014
1014
|
tc "<p>„text“</p>\n", "„text“"
|
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.
|
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-
|
11
|
+
date: 2014-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bacon
|