general 1.5.0 → 2.0.0
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/README.md +166 -20
- data/Rakefile +11 -2
- data/exp/expected/applied1.txt +1 -0
- data/exp/expected/applied2.txt +3 -0
- data/exp/expected/applied3.txt +9 -0
- data/exp/expected/default1.txt +1 -0
- data/exp/expected/default2.txt +3 -0
- data/exp/expected/default3.txt +9 -0
- data/exp/out/sample1.txt +1 -0
- data/exp/out/sample2.txt +3 -0
- data/exp/out/sample3.txt +9 -0
- data/exp/templates/sample0.general +7 -0
- data/exp/templates/sample1.general +1 -0
- data/exp/templates/sample2.general +3 -0
- data/exp/templates/sample3.general +4 -0
- data/exp/templates/sampleE0.general +7 -0
- data/exp/templates/sampleE1.general +3 -0
- data/exp/templates/sampleE2.general +3 -0
- data/exp/templates/sampleE3.general +7 -0
- data/lib/general.rb +3 -3
- data/lib/gerror.rb +33 -0
- data/lib/goperations.rb +95 -27
- data/lib/gpartials/garrayplaceholder.rb +87 -0
- data/lib/gpartials/gfullplaceholder.rb +63 -0
- data/lib/gpartials/gpartial.rb +11 -1
- data/lib/gpartials/gplaceholder.rb +1 -52
- data/lib/gpartials/gspecial.rb +81 -0
- data/lib/gpartials/gtext.rb +5 -33
- data/lib/gprepartials/gextend.rb +42 -0
- data/lib/gprepartials/ginclude.rb +47 -0
- data/lib/gprepartials/gprepartial.rb +45 -0
- data/lib/gprepartials/gpretext.rb +33 -0
- data/lib/gprepartials/gyield.rb +33 -0
- data/lib/{templates → gtemplates}/gbasetemplate.rb +46 -3
- data/lib/gtemplates/gio.rb +143 -0
- data/lib/gtemplates/gmeta.rb +106 -0
- data/lib/{templates → gtemplates}/gtemplate.rb +10 -30
- data/lib/{templates → gtemplates}/gtimeformat.rb +6 -12
- data/spec/gdothash_spec.rb +6 -10
- data/spec/goperations_spec.rb +112 -82
- data/spec/gpartial_garrayplaceholder_spec.rb +165 -0
- data/spec/gpartial_gfullplaceholder_spec.rb +82 -0
- data/spec/gpartial_gplaceholder_spec.rb +237 -0
- data/spec/gpartial_gspecial_spec.rb +88 -0
- data/spec/gpartial_gtext_spec.rb +87 -0
- data/spec/gtamplate_gtemplate_spec.rb +266 -0
- data/spec/gtemplate_gio_spec.rb +147 -0
- data/spec/gtemplate_gtimeformat_spec.rb +77 -0
- data/spec/spec_require.rb +7 -4
- metadata +41 -13
- data/exp/future.general +0 -11
- data/exp/out.txt +0 -1
- data/exp/sample.general +0 -1
- data/lib/templates/gio.rb +0 -68
- data/spec/garrayplaceholder_spec.rb +0 -163
- data/spec/gplaceholder_spec.rb +0 -300
- data/spec/gtemplates_spec.rb +0 -480
- data/spec/gtext_spec.rb +0 -150
@@ -1,163 +0,0 @@
|
|
1
|
-
# General is a templating system in ruby
|
2
|
-
# Copyright (C) 2016 Anshul Kharbanda
|
3
|
-
#
|
4
|
-
# This program is free software: you can redistribute it and/or modify
|
5
|
-
# it under the terms of the GNU General Public License as published by
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
-
|
17
|
-
require_relative "spec_require"
|
18
|
-
|
19
|
-
# Describe General::GArrayPlaceholder
|
20
|
-
#
|
21
|
-
# Represents an array placeholder partial in a GTemplate
|
22
|
-
#
|
23
|
-
# Author: Anshul Kharbanda
|
24
|
-
# Created: 7 - 1 - 2016
|
25
|
-
describe General::GArrayPlaceholder do
|
26
|
-
before :all do
|
27
|
-
# -----------DATA-----------
|
28
|
-
|
29
|
-
@arrayname1 = :arg
|
30
|
-
@hash = {
|
31
|
-
arg: [
|
32
|
-
{ subarg: "Eeeeyyy" },
|
33
|
-
{ subarg: "Oyyyeee" },
|
34
|
-
{ subarg: "Aaayyyy" }
|
35
|
-
]
|
36
|
-
}
|
37
|
-
|
38
|
-
@text = "Subarg: @(subarg)"
|
39
|
-
@regex = "Subarg: (?<subarg>.*)"
|
40
|
-
@delim = "\n"
|
41
|
-
|
42
|
-
# ---------------------------OUTPUT---------------------------
|
43
|
-
|
44
|
-
@out1 = @hash[@arrayname1]
|
45
|
-
.collect{|e| "Subarg: #{e[:subarg]}"}
|
46
|
-
.join(General::GArrayPlaceholder::DEFAULT_DELIMETER)
|
47
|
-
@out2 = @hash[@arrayname1]
|
48
|
-
.collect{|e| "Subarg: #{e[:subarg]}"}
|
49
|
-
.join(@delim)
|
50
|
-
|
51
|
-
# ------------------------------------------PARTIALS------------------------------------------
|
52
|
-
|
53
|
-
@partial1 = General::GArrayPlaceholder.new name: @arrayname1, text: @text
|
54
|
-
@partial2 = General::GArrayPlaceholder.new name: @arrayname1, text: @text, delimeter: @delim
|
55
|
-
|
56
|
-
# -------------------------------------------STRING-------------------------------------------
|
57
|
-
|
58
|
-
@string1 = "@[#{@arrayname1}] #{@text} @[ ]"
|
59
|
-
@string2 = "@[#{@arrayname1}] #{@text} @[\\n]"
|
60
|
-
|
61
|
-
# -------------------------------------------REGEX--------------------------------------------
|
62
|
-
|
63
|
-
@regex1 = "(?<#{@arrayname1}>(#{@regex}( )?)+)"
|
64
|
-
@regex2 = "(?<#{@arrayname1}>(#{@regex}(\\n)?)+)"
|
65
|
-
end
|
66
|
-
|
67
|
-
# Describe General::GArrayPlaceholder::new
|
68
|
-
#
|
69
|
-
# Initializes the GPlaceholder with the given match
|
70
|
-
#
|
71
|
-
# Parameter: match - the match data from the string being parsed
|
72
|
-
describe '::new' do
|
73
|
-
context 'with the given name and text' do
|
74
|
-
it 'creates a new GArrayPlaceholder with the given name and text' do
|
75
|
-
expect(@partial1).to be_an_instance_of General::GArrayPlaceholder
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
context 'with the given name, text, and delimeter' do
|
80
|
-
it 'creates a new GArrayPlaceholder with the given name and text and delimeter' do
|
81
|
-
expect(@partial1).to be_an_instance_of General::GArrayPlaceholder
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
# Describe General::GArrayPlaceholder#apply
|
87
|
-
#
|
88
|
-
# Returns the value of the array placeholder in the given data
|
89
|
-
# formatted by the given GArrayPlaceholder and joined by the given delimeter
|
90
|
-
#
|
91
|
-
# Parameter: data - the data being applied
|
92
|
-
#
|
93
|
-
# Return: the value of the array placeholder in the given data
|
94
|
-
# formatted by the given GArrayPlaceholder and joined by the given delimeter
|
95
|
-
describe '#apply' do
|
96
|
-
it 'applies the given data array formatted according to the given GArrayPlaceholder and joined by the delimeter' do
|
97
|
-
expect(@partial1.apply @hash).to eql @out1
|
98
|
-
expect(@partial2.apply @hash).to eql @out2
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
# Describe General::GArrayPlaceholder#string
|
103
|
-
#
|
104
|
-
# Returns the string representation of the GArrayPlaceholder
|
105
|
-
#
|
106
|
-
# Parameter: first - true if the GArrayPlaceholder is the first of it's time
|
107
|
-
#
|
108
|
-
# Returns: the string representation of the GArrayPlaceholder
|
109
|
-
describe '#string' do
|
110
|
-
context 'with no first argument is given' do
|
111
|
-
it 'returns the string of the GArrayPlaceholder' do
|
112
|
-
expect(@partial1.string).to eql @string1
|
113
|
-
expect(@partial2.string).to eql @string2
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
context 'with first argument is given' do
|
118
|
-
context 'when first is true' do
|
119
|
-
it 'returns the string of the GArrayPlaceholder' do
|
120
|
-
expect(@partial1.string true).to eql @string1
|
121
|
-
expect(@partial2.string true).to eql @string2
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
context 'when first is false' do
|
126
|
-
it 'returns the string of the GArrayPlaceholder' do
|
127
|
-
expect(@partial1.string false).to eql @string1
|
128
|
-
expect(@partial2.string false).to eql @string2
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
|
-
# Describe General::GArrayPlaceholder#regex
|
135
|
-
#
|
136
|
-
# Throws TypeError
|
137
|
-
#
|
138
|
-
# Parameter: first - true if the placeholder is the first of it's kind
|
139
|
-
describe '#regex' do
|
140
|
-
context 'with no first argument is given' do
|
141
|
-
it 'returns the regex of the GArrayPlaceholder' do
|
142
|
-
expect { @partial1.regex }.to raise_error TypeError
|
143
|
-
expect { @partial2.regex }.to raise_error TypeError
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
context 'with first argument is given' do
|
148
|
-
context 'when first is true' do
|
149
|
-
it 'returns the regex of the GArrayPlaceholder' do
|
150
|
-
expect { @partial1.regex true }.to raise_error TypeError
|
151
|
-
expect { @partial2.regex true }.to raise_error TypeError
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
context 'when first is false' do
|
156
|
-
it 'returns the regex of the GArrayPlaceholder' do
|
157
|
-
expect { @partial1.regex false }.to raise_error TypeError
|
158
|
-
expect { @partial2.regex false }.to raise_error TypeError
|
159
|
-
end
|
160
|
-
end
|
161
|
-
end
|
162
|
-
end
|
163
|
-
end
|
data/spec/gplaceholder_spec.rb
DELETED
@@ -1,300 +0,0 @@
|
|
1
|
-
# General is a templating system in ruby
|
2
|
-
# Copyright (C) 2016 Anshul Kharbanda
|
3
|
-
#
|
4
|
-
# This program is free software: you can redistribute it and/or modify
|
5
|
-
# it under the terms of the GNU General Public License as published by
|
6
|
-
# the Free Software Foundation, either version 3 of the License, or
|
7
|
-
# (at your option) any later version.
|
8
|
-
#
|
9
|
-
# This program is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
-
# GNU General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU General Public License
|
15
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
-
|
17
|
-
require_relative "spec_require"
|
18
|
-
|
19
|
-
# Represents a placeholder partial in a GTemplate
|
20
|
-
#
|
21
|
-
# Author: Anshul Kharbanda
|
22
|
-
# Created: 7 - 1 - 2016
|
23
|
-
describe General::GPlaceholder do
|
24
|
-
before :all do
|
25
|
-
# Placename
|
26
|
-
@placename1 = :plac1
|
27
|
-
@placename2 = :plac2
|
28
|
-
@placename3 = :plac3
|
29
|
-
@placename4 = :plac4
|
30
|
-
@placename5 = :"plac5.subarg"
|
31
|
-
|
32
|
-
# Hash
|
33
|
-
@hash = General::GDotHash.new
|
34
|
-
@hash[@placename1] = "foobar"
|
35
|
-
@hash[@placename3] = "barbaz"
|
36
|
-
@hash[@placename4] = "jujar"
|
37
|
-
@hash[@placename5] = "dudar"
|
38
|
-
|
39
|
-
# Default hash
|
40
|
-
@defaults = General::GDotHash.new
|
41
|
-
|
42
|
-
# ------------PLACEHOLDER------------
|
43
|
-
@result1 = @hash[@placename1]
|
44
|
-
@partial1 = General::GPlaceholder.new [
|
45
|
-
[:name, @placename1]
|
46
|
-
].to_h, @defaults
|
47
|
-
@string1 = "@(#{@placename1})"
|
48
|
-
@string_first1 = "@(#{@placename1})"
|
49
|
-
@regex1 = "\\k<#{@placename1}>"
|
50
|
-
@regex_first1 = "(?<#{@placename1}>.*)"
|
51
|
-
|
52
|
-
# --------------DEFAULT--------------
|
53
|
-
@default2 = "foo2"
|
54
|
-
@result2 = "foo2"
|
55
|
-
@partial2 = General::GPlaceholder.new [
|
56
|
-
[:name, @placename2],
|
57
|
-
[:default, @default2]
|
58
|
-
].to_h, @defaults
|
59
|
-
@string2 = "@(#{@placename2})"
|
60
|
-
@string_first2 = "@(#{@placename2}:" \
|
61
|
-
+ " #{@default2})"
|
62
|
-
@regex2 = "\\k<#{@placename2}>"
|
63
|
-
@regex_first2 = "(?<#{@placename2}>.*)"
|
64
|
-
|
65
|
-
# -------------OPERATION-------------
|
66
|
-
@operation3 = "capitalize"
|
67
|
-
@result3 = General::GOperations.send(
|
68
|
-
@operation3.to_sym,
|
69
|
-
@hash[@placename3]
|
70
|
-
)
|
71
|
-
@partial3 = General::GPlaceholder.new [
|
72
|
-
[:name, @placename3],
|
73
|
-
[:operation, @operation3]
|
74
|
-
].to_h, @defaults
|
75
|
-
@string3 = "@(#{@placename3})"
|
76
|
-
@string_first3 = "@(#{@placename3}" \
|
77
|
-
+ " -> #{@operation3})"
|
78
|
-
@regex3 = "\\k<#{@placename3}>"
|
79
|
-
@regex_first3 = "(?<#{@placename3}>.*)"
|
80
|
-
|
81
|
-
# -------------ARGUMENTS-------------
|
82
|
-
@operation4 = "capitalize"
|
83
|
-
@arguments4 = ["all"]
|
84
|
-
@result4 = General::GOperations.send(
|
85
|
-
@operation4.to_sym,
|
86
|
-
@hash[@placename4],
|
87
|
-
*@arguments4
|
88
|
-
)
|
89
|
-
@partial4 = General::GPlaceholder.new [
|
90
|
-
[:name, @placename4],
|
91
|
-
[:operation, @operation4],
|
92
|
-
[:arguments, @arguments4.join(" ")]
|
93
|
-
].to_h, @defaults
|
94
|
-
@string4 = "@(#{@placename4})"
|
95
|
-
@string_first4 = "@(#{@placename4}" \
|
96
|
-
+ " -> #{@operation4} " \
|
97
|
-
+ "#{@arguments4.collect {|s| "\"#{s}\""}.join " "})"
|
98
|
-
@regex4 = "\\k<#{@placename4}>"
|
99
|
-
@regex_first4 = "(?<#{@placename4}>.*)"
|
100
|
-
|
101
|
-
# -----------DOT NOTATION------------
|
102
|
-
keys = @placename5.to_s.split(".").collect(&:to_sym)
|
103
|
-
@result5 = @hash[keys[0]][keys[1]]
|
104
|
-
@partial5 = General::GPlaceholder.new [
|
105
|
-
[:name, @placename5]
|
106
|
-
].to_h, @defaults
|
107
|
-
@string5 = "@(#{@placename5})"
|
108
|
-
@string_first5 = "@(#{@placename5})"
|
109
|
-
@regex5 = "\\k<#{@placename5}>"
|
110
|
-
@regex_first5 = "(?<#{@placename5}>.*)"
|
111
|
-
end
|
112
|
-
|
113
|
-
# Describe General::GPlaceholder::new
|
114
|
-
#
|
115
|
-
# Initializes the GPlaceholder with the given match
|
116
|
-
#
|
117
|
-
# Parameter: match - the match data from the string being parsed
|
118
|
-
describe '::new' do
|
119
|
-
# -------------------------------------PLACEHOLDER---------------------------------------
|
120
|
-
context 'with name given' do
|
121
|
-
it 'creaes a GPlaceholder with the given name' do
|
122
|
-
expect(@partial1).to be_an_instance_of General::GPlaceholder
|
123
|
-
expect(@partial1.instance_variable_get :@name).to eql @placename1
|
124
|
-
expect(@partial1.instance_variable_get :@operation).to be_nil
|
125
|
-
expect(@partial1.instance_variable_get :@arguments).to be_empty
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
|
-
# ---------------------------------------DEFAULT-----------------------------------------
|
130
|
-
context 'with name and default in match object' do
|
131
|
-
it 'creates a GPlaceholder with the given name and default' do
|
132
|
-
expect(@partial2).to be_an_instance_of General::GPlaceholder
|
133
|
-
expect(@partial2.instance_variable_get :@name).to eql @placename2
|
134
|
-
expect(@partial2.instance_variable_get :@operation).to be_nil
|
135
|
-
expect(@partial2.instance_variable_get :@arguments).to be_empty
|
136
|
-
expect(@defaults[@placename2]).to eql @default2
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
# --------------------------------------OPERATION----------------------------------------
|
141
|
-
context 'with name, default, and operation in match object' do
|
142
|
-
it 'creates a GPlaceholder with the given name and operation' do
|
143
|
-
expect(@partial3).to be_an_instance_of General::GPlaceholder
|
144
|
-
expect(@partial3.instance_variable_get :@name).to eql @placename3
|
145
|
-
expect(@partial3.instance_variable_get :@operation).to eql @operation3
|
146
|
-
expect(@partial3.instance_variable_get :@arguments).to be_empty
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
|
-
# --------------------------------------ARGUMENTS----------------------------------------
|
151
|
-
context 'with name, default, operation, and arguments in match object' do
|
152
|
-
it 'creates a GPlaceholder with the given name, operation, and arguments' do
|
153
|
-
expect(@partial4).to be_an_instance_of General::GPlaceholder
|
154
|
-
expect(@partial4.instance_variable_get :@name).to eql @placename4
|
155
|
-
expect(@partial4.instance_variable_get :@operation).to eql @operation4
|
156
|
-
expect(@partial4.instance_variable_get :@arguments).to eql @arguments4
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
# --------------------------------------ARGUMENTS----------------------------------------
|
161
|
-
context 'with dot notation name' do
|
162
|
-
it 'creates a GPlaceholder with the given dot notation name' do
|
163
|
-
expect(@partial5).to be_an_instance_of General::GPlaceholder
|
164
|
-
expect(@partial5.instance_variable_get :@name).to eql @placename5
|
165
|
-
expect(@partial5.instance_variable_get :@operation).to be_nil
|
166
|
-
expect(@partial5.instance_variable_get :@arguments).to be_empty
|
167
|
-
end
|
168
|
-
end
|
169
|
-
end
|
170
|
-
|
171
|
-
# Describe General::GPlaceholder#apply
|
172
|
-
#
|
173
|
-
# Returns the value of the placeholder in the given data
|
174
|
-
# with the given operation performed on it
|
175
|
-
#
|
176
|
-
# Parameter: data - the data being applied
|
177
|
-
#
|
178
|
-
# Return: the value of the placeholder in the given data
|
179
|
-
# with the given operation performed on it
|
180
|
-
describe '#apply' do
|
181
|
-
# -------------------------------------PLACEHOLDER---------------------------------------
|
182
|
-
context 'when name is defined in given data' do
|
183
|
-
it 'returns the value in the data at the name' do
|
184
|
-
expect(@partial1.apply @hash).to eql @result1
|
185
|
-
end
|
186
|
-
end
|
187
|
-
|
188
|
-
# ---------------------------------------DEFAULT-----------------------------------------
|
189
|
-
context 'when name is not defined in given data, but defined in defaults' do
|
190
|
-
it 'returns the value in the default at the name' do
|
191
|
-
expect(@partial2.apply @hash).to eql @result2
|
192
|
-
end
|
193
|
-
end
|
194
|
-
|
195
|
-
# --------------------------------------OPERATION----------------------------------------
|
196
|
-
context 'when an operation is defined' do
|
197
|
-
it 'returns the value in the data/default at the name with the operation applied' do
|
198
|
-
expect(@partial3.apply @hash).to eql @result3
|
199
|
-
end
|
200
|
-
end
|
201
|
-
|
202
|
-
# --------------------------------------ARGUMENTS----------------------------------------
|
203
|
-
context 'when an operation and arguments are defined' do
|
204
|
-
it 'returns the value in the data/default at the name with the operation and arguments applied' do
|
205
|
-
expect(@partial4.apply @hash).to eql @result4
|
206
|
-
end
|
207
|
-
end
|
208
|
-
|
209
|
-
# -------------------------------------DOT NOTATION--------------------------------------
|
210
|
-
context 'when dot notation name is given' do
|
211
|
-
it 'returns the value in the data/default at the dot notation name' do
|
212
|
-
expect(@partial5.apply @hash).to eql @result5
|
213
|
-
end
|
214
|
-
end
|
215
|
-
end
|
216
|
-
|
217
|
-
# Describe General::GTemplate#string
|
218
|
-
#
|
219
|
-
# Returns the string representation of the placeholder
|
220
|
-
#
|
221
|
-
# Parameter: first - true if the placeholder is the first of its kind in the GTemplate
|
222
|
-
#
|
223
|
-
# Return: the string representation of the placeholder
|
224
|
-
describe '#string' do
|
225
|
-
# -------------------------------------NO FIRST---------------------------------------
|
226
|
-
context 'when no first argument specified' do
|
227
|
-
it 'returns the first string representation of the placeholder' do
|
228
|
-
expect(@partial1.string).to eql @string_first1
|
229
|
-
expect(@partial2.string).to eql @string_first2
|
230
|
-
expect(@partial3.string).to eql @string_first3
|
231
|
-
expect(@partial4.string).to eql @string_first4
|
232
|
-
end
|
233
|
-
end
|
234
|
-
|
235
|
-
# --------------------------------------FIRST-----------------------------------------
|
236
|
-
context 'when first argument is specified' do
|
237
|
-
# --------------------------------TRUE--------------------------------
|
238
|
-
context 'when first is true' do
|
239
|
-
it 'returns the first string representation of the placeholder' do
|
240
|
-
expect(@partial1.string true).to eql @string_first1
|
241
|
-
expect(@partial2.string true).to eql @string_first2
|
242
|
-
expect(@partial3.string true).to eql @string_first3
|
243
|
-
expect(@partial4.string true).to eql @string_first4
|
244
|
-
end
|
245
|
-
end
|
246
|
-
|
247
|
-
# --------------------------------FALSE-------------------------------
|
248
|
-
context 'when first is false' do
|
249
|
-
it 'returns the string representation of the placeholder' do
|
250
|
-
expect(@partial1.string false).to eql @string1
|
251
|
-
expect(@partial2.string false).to eql @string2
|
252
|
-
expect(@partial3.string false).to eql @string3
|
253
|
-
expect(@partial4.string false).to eql @string4
|
254
|
-
end
|
255
|
-
end
|
256
|
-
end
|
257
|
-
end
|
258
|
-
|
259
|
-
# Describe General::GTemplate#regex
|
260
|
-
#
|
261
|
-
# Returns the string as a regex
|
262
|
-
#
|
263
|
-
# Parameter: first - true if the placeholder is the first of its kind in the GTemplate
|
264
|
-
#
|
265
|
-
# Returns: the string as a regex
|
266
|
-
describe '#regex' do
|
267
|
-
# -------------------------------------NO FIRST---------------------------------------
|
268
|
-
context 'when no first argument specified' do
|
269
|
-
it 'returns the first regex representation of the placeholder' do
|
270
|
-
expect(@partial1.regex).to eql @regex_first1
|
271
|
-
expect(@partial2.regex).to eql @regex_first2
|
272
|
-
expect(@partial3.regex).to eql @regex_first3
|
273
|
-
expect(@partial4.regex).to eql @regex_first4
|
274
|
-
end
|
275
|
-
end
|
276
|
-
|
277
|
-
# --------------------------------------FIRST-----------------------------------------
|
278
|
-
context 'when first argument is specified' do
|
279
|
-
# --------------------------------TRUE--------------------------------
|
280
|
-
context 'when first is true' do
|
281
|
-
it 'returns the first regex representation of the placeholder' do
|
282
|
-
expect(@partial1.regex true).to eql @regex_first1
|
283
|
-
expect(@partial2.regex true).to eql @regex_first2
|
284
|
-
expect(@partial3.regex true).to eql @regex_first3
|
285
|
-
expect(@partial4.regex true).to eql @regex_first4
|
286
|
-
end
|
287
|
-
end
|
288
|
-
|
289
|
-
# --------------------------------FALSE-------------------------------
|
290
|
-
context 'when first is false' do
|
291
|
-
it 'returns the regex representation of the placeholder' do
|
292
|
-
expect(@partial1.regex false).to eql @regex1
|
293
|
-
expect(@partial2.regex false).to eql @regex2
|
294
|
-
expect(@partial3.regex false).to eql @regex3
|
295
|
-
expect(@partial4.regex false).to eql @regex4
|
296
|
-
end
|
297
|
-
end
|
298
|
-
end
|
299
|
-
end
|
300
|
-
end
|