mote 1.0.0 → 1.1.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.
- data/lib/mote.rb +2 -2
- data/test/mote_test.rb +20 -5
- metadata +4 -4
data/lib/mote.rb
CHANGED
@@ -18,9 +18,9 @@
|
|
18
18
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
19
|
# THE SOFTWARE.
|
20
20
|
class Mote
|
21
|
-
VERSION = "1.
|
21
|
+
VERSION = "1.1.0"
|
22
22
|
|
23
|
-
PATTERN =
|
23
|
+
PATTERN = /^(\n+)|^\s*(%)\s*(.*?)\n|(<\?)\s+(.*?)\s+\?>|(\{\{)(.*?)\}\}/m
|
24
24
|
|
25
25
|
def self.parse(template, context = self, vars = [])
|
26
26
|
terms = template.split(PATTERN)
|
data/test/mote_test.rb
CHANGED
@@ -1,6 +1,21 @@
|
|
1
1
|
require File.expand_path("../lib/mote", File.dirname(__FILE__))
|
2
2
|
|
3
3
|
scope do
|
4
|
+
test "empty lines" do
|
5
|
+
example = Mote.parse("\n\n \n")
|
6
|
+
assert_equal "\n\n \n", example.call
|
7
|
+
end
|
8
|
+
|
9
|
+
test "empty lines with mixed code" do
|
10
|
+
example = Mote.parse("\n% true\n\n% false\n\n")
|
11
|
+
assert_equal "\n\n\n", example.call
|
12
|
+
end
|
13
|
+
|
14
|
+
test "empty lines with control flow" do
|
15
|
+
example = Mote.parse("\n% if true\n\n\n% else\n\n% end\n")
|
16
|
+
assert_equal "\n\n\n", example.call
|
17
|
+
end
|
18
|
+
|
4
19
|
test "assignment" do
|
5
20
|
example = Mote.parse("{{ \"***\" }}")
|
6
21
|
assert_equal "***", example.call
|
@@ -27,7 +42,7 @@ scope do
|
|
27
42
|
EOT
|
28
43
|
|
29
44
|
example = Mote.parse(template)
|
30
|
-
assert_equal "
|
45
|
+
assert_equal " ***\n", example.call
|
31
46
|
end
|
32
47
|
|
33
48
|
test "block evaluation" do
|
@@ -38,7 +53,7 @@ scope do
|
|
38
53
|
EOT
|
39
54
|
|
40
55
|
example = Mote.parse(template)
|
41
|
-
assert_equal "
|
56
|
+
assert_equal "*\n*\n*\n", example.call
|
42
57
|
end
|
43
58
|
|
44
59
|
test "parameters" do
|
@@ -49,8 +64,8 @@ scope do
|
|
49
64
|
EOT
|
50
65
|
|
51
66
|
example = Mote.parse(template)
|
52
|
-
assert_equal "
|
53
|
-
assert_equal "
|
67
|
+
assert_equal "*\n*\n*\n", example[:n => 3]
|
68
|
+
assert_equal "*\n*\n*\n*\n", example[:n => 4]
|
54
69
|
end
|
55
70
|
|
56
71
|
test "multiline" do
|
@@ -119,7 +134,7 @@ scope do
|
|
119
134
|
end
|
120
135
|
|
121
136
|
test "helpers" do
|
122
|
-
assert_equal "
|
137
|
+
assert_equal " *\n *\n *\n", mote("test/basic.mote", :n => 3)
|
123
138
|
end
|
124
139
|
|
125
140
|
test "using functions in the context" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mote
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cutest
|
16
|
-
requirement: &
|
16
|
+
requirement: &2155981980 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2155981980
|
25
25
|
description: Mote is a very simple and fast template engine.
|
26
26
|
email:
|
27
27
|
- michel@soveran.com
|