mucgly 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  module Mucgly
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  def Mucgly.version
4
4
  Mucgly::VERSION
5
5
  end
@@ -1,4 +1,4 @@
1
- Line 1 from file "test_basic.rx.txt".
1
+ Line 1 from file "test_basic.rx.txt:1".
2
2
  Test escapes (backslash, empty): "\" "" ... and the rest of the line.
3
3
  Next the test file "test_include.txt" is included.
4
4
  Line 1 in test file test_included.txt.
@@ -15,4 +15,13 @@ The last line in "test_basic.rx.txt"
15
15
  The name of this file is: "test_basic.rx.txt".
16
16
  We are outputting to file result/test_basic.txt and 16
17
17
  Multipass macros are output with one "#" removed each round.
18
- -<puts "This will be a macro execution in the next round.">-This comment will be consumed "".
18
+ -<puts "This will be a macro execution in the next round.">-
19
+ This comment will be consumed "".
20
+
21
+ Some Mucgly module tests...
22
+ Mucgly.puts
23
+ Mucgly.write
24
+ hookbeg is "-<"
25
+ hookend is ">-"
26
+ hookend is "\"
27
+ End of test file...***
@@ -0,0 +1,9 @@
1
+ Line 1 from file "test_file_ctrl.rx.txt:1"
2
+
3
+ Line 1 from test_skip.txt.
4
+ Line 2 from test_skip.txt.
5
+
6
+
7
+
8
+
9
+ Last line...
@@ -0,0 +1,2 @@
1
+ Line 1 for test_redirect.txt.
2
+ Line 2 for test_redirect.txt.
@@ -1,4 +1,4 @@
1
- Line 1 from file "test_basic.rx.txt".
1
+ Line 1 from file "test_basic.rx.txt:1".
2
2
  Test escapes (backslash, empty): "\" "" ... and the rest of the line.
3
3
  Next the test file "test_include.txt" is included.
4
4
  Line 1 in test file test_included.txt.
@@ -15,4 +15,13 @@ The last line in "test_basic.rx.txt"
15
15
  The name of this file is: "test_basic.rx.txt".
16
16
  We are outputting to file result/test_basic.txt and 16
17
17
  Multipass macros are output with one "#" removed each round.
18
- -<puts "This will be a macro execution in the next round.">-This comment will be consumed "".
18
+ -<puts "This will be a macro execution in the next round.">-
19
+ This comment will be consumed "".
20
+
21
+ Some Mucgly module tests...
22
+ Mucgly.puts
23
+ Mucgly.write
24
+ hookbeg is "-<"
25
+ hookend is ">-"
26
+ hookend is "\"
27
+ End of test file...***
@@ -0,0 +1,9 @@
1
+ Line 1 from file "test_file_ctrl.rx.txt:1"
2
+
3
+ Line 1 from test_skip.txt.
4
+ Line 2 from test_skip.txt.
5
+
6
+
7
+
8
+
9
+ Last line...
@@ -0,0 +1,2 @@
1
+ Line 1 for test_redirect.txt.
2
+ Line 2 for test_redirect.txt.
@@ -1,4 +1,4 @@
1
- Line 1 from file "-<write ifilename>-".
1
+ Line 1 from file "-<write ifilename; write ":"; write ilinenumber>-".
2
2
  -<:hook \\>-\
3
3
  Test escapes (backslash, empty): "\\" "\ \ " \
4
4
  ... and the rest of the line.
@@ -19,5 +19,14 @@ The name of this file is: "\write ifilename\ ".
19
19
  We are outputting to file \write ofilename\ and \write olinenumber.to_s\
20
20
  Multipass macros are output with one "#" removed each round.
21
21
  \:hook -< >-\ \
22
- -<#puts "This will be a macro execution in the next round.">-\
22
+ -<#puts "This will be a macro execution in the next round.">-
23
23
  This comment will be consumed "-</A comment>-".
24
+
25
+ Some Mucgly module tests...
26
+ -<Mucgly.puts "Mucgly.puts">--<Mucgly.write "Mucgly.write">-
27
+ -<if hookbeg == "\-<"; write "hookbeg is \\"\-<\\""; end>-
28
+ -<if hookend == "\>-"; write "hookend is \\"\>-\\""; end>-
29
+ -<if hookesc == "\\\\"; write "hookend is \\"\\\\\\""; end>-
30
+ -<sethookbeg "-{"; sethookend "}-"; sethookesc "|">-|
31
+ -{write "End of test file..."}-|
32
+ ***
@@ -0,0 +1,10 @@
1
+ Line 1 from file "-<write ifilename; write ":"; write ilinenumber>-"
2
+
3
+ -<pushinput "test_skip.txt">-
4
+
5
+ -<pushoutput "result/test_redirect.txt">-\
6
+ Line 1 for test_redirect.txt.
7
+ Line 2 for test_redirect.txt.
8
+ -<closeoutput>-
9
+
10
+ Last line...
@@ -1,14 +1,13 @@
1
1
  require 'test/unit'
2
2
 
3
3
 
4
+
4
5
  # Test execution routine.
5
6
  def runTest( cmdopts, test, sep = "" )
6
- Dir.chdir( 'test' )
7
- FileUtils.mkdir_p "result"
8
7
  rf = "result/#{test}#{sep}.txt"
9
8
  gf = "golden/#{test}#{sep}.txt"
10
9
 
11
- system( "export RUBYLIB=#{ENV['RUBYLIB']}:../lib; ../bin/mucgly -i -m #{cmdopts} -f #{test}.rx.txt -o #{rf}" )
10
+ system( "export RUBYLIB=../lib; ../bin/mucgly -i -m #{cmdopts} -f #{test}.rx.txt -o #{rf}" )
12
11
 
13
12
  if false
14
13
  # Populate golden files after inspection.
@@ -16,15 +15,33 @@ def runTest( cmdopts, test, sep = "" )
16
15
  end
17
16
 
18
17
  assert( system( "diff #{rf} #{gf}" ), "FAILED: diff #{rf} #{gf}" )
19
-
20
- Dir.chdir( '..' )
21
18
  end
22
19
 
23
20
 
24
21
  class MucglyTest < Test::Unit::TestCase
25
22
 
23
+ def setup
24
+ Dir.chdir( 'test' )
25
+ FileUtils.mkdir_p "result"
26
+ end
27
+
28
+ def teardown
29
+ Dir.chdir( '..' )
30
+ end
31
+
32
+
26
33
  def test_basic() runTest( "", "test_basic" ); end
27
34
  def test_specials_cli() runTest( "-b @ -e @ -s /", "test_specials_cli" ); end
28
35
  def test_specials_cmd() runTest( "", "test_specials_cmd" ); end
29
36
 
37
+ def test_file_ctrl()
38
+ rf1 = "result/test_file_ctrl.txt"
39
+ rf2 = "result/test_redirect.txt"
40
+ gf1 = "golden/test_file_ctrl.txt"
41
+ gf2 = "golden/test_redirect.txt"
42
+ system( "export MUCGLY=./test_include.rb; export RUBYLIB=../lib; ../bin/mucgly -m -f test_file_ctrl.rx.txt -o #{rf1}" )
43
+ assert( system( "diff #{rf1} #{gf1}" ), "FAILED: diff #{rf1} #{gf1}" )
44
+ assert( system( "diff #{rf2} #{gf2}" ), "FAILED: diff #{rf2} #{gf2}" )
45
+ end
46
+
30
47
  end
@@ -0,0 +1,4 @@
1
+ Line 1 from test_skip.txt.
2
+ Line 2 from test_skip.txt.
3
+ -<Mucgly.closeinput>-
4
+ Line 3 from test_skip.txt.
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mucgly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tero Isannainen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-27 00:00:00.000000000 Z
11
+ date: 2015-04-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: Mucgly is a macro expander for inline macros that exist in the middle
14
- of body text. The macros are expected to be mostly regular Ruby code, but a few
15
- special commands is also available.
13
+ description: |-
14
+ Mucgly is a macro expander for inline macros that exist in the middle
15
+ of body text. Mucgly is useful for code generation and all kinds of
16
+ templating systems. The macros are expected to be mostly regular Ruby
17
+ code, but a few special commands are also available.
16
18
  email: tero.isannainen@gmail.com
17
19
  executables:
18
20
  - mucgly
@@ -45,16 +47,22 @@ files:
45
47
  - ext/mucgly/mucgly.c
46
48
  - lib/version.rb
47
49
  - test/golden/test_basic.txt
50
+ - test/golden/test_file_ctrl.txt
51
+ - test/golden/test_redirect.txt
48
52
  - test/golden/test_specials_cli.txt
49
53
  - test/golden/test_specials_cmd.txt
50
54
  - test/result/test_basic.txt
55
+ - test/result/test_file_ctrl.txt
56
+ - test/result/test_redirect.txt
51
57
  - test/result/test_specials_cli.txt
52
58
  - test/result/test_specials_cmd.txt
53
59
  - test/result/test_specials_cmd2.txt
54
60
  - test/test_basic.rx.txt
61
+ - test/test_file_ctrl.rx.txt
55
62
  - test/test_include.rb
56
63
  - test/test_include.txt
57
64
  - test/test_mucgly.rb
65
+ - test/test_skip.txt
58
66
  - test/test_specials_cli.rx.txt
59
67
  - test/test_specials_cmd.rx.txt
60
68
  homepage:
@@ -82,8 +90,11 @@ signing_key:
82
90
  specification_version: 4
83
91
  summary: Mucgly processes inline macros.
84
92
  test_files:
93
+ - test/test_skip.txt
85
94
  - test/golden/test_basic.txt
86
95
  - test/golden/test_specials_cli.txt
96
+ - test/golden/test_file_ctrl.txt
97
+ - test/golden/test_redirect.txt
87
98
  - test/golden/test_specials_cmd.txt
88
99
  - test/test_specials_cmd.rx.txt
89
100
  - test/test_include.rb
@@ -91,8 +102,11 @@ test_files:
91
102
  - test/test_basic.rx.txt
92
103
  - test/test_specials_cli.rx.txt
93
104
  - test/test_mucgly.rb
105
+ - test/test_file_ctrl.rx.txt
94
106
  - test/result/test_basic.txt
95
107
  - test/result/test_specials_cli.txt
108
+ - test/result/test_file_ctrl.txt
96
109
  - test/result/test_specials_cmd2.txt
110
+ - test/result/test_redirect.txt
97
111
  - test/result/test_specials_cmd.txt
98
112
  has_rdoc: