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 +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
|