erbtex 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.bundle/config +2 -0
- data/.gitignore +4 -1
- data/Gemfile.lock +40 -4
- data/README.org +137 -0
- data/Rakefile +10 -13
- data/bin/erbtex +3 -44
- data/erbtex.gemspec +11 -7
- data/examples/TrigTable.tex +3 -3
- data/examples/TrigTable2.tex +10 -6
- data/examples/{roots.tex → roots.tex.erb} +0 -0
- data/examples/{testbind.tex → testbind.tex.erb} +0 -0
- data/lib/erbtex/command_line.rb +79 -109
- data/lib/erbtex/runner.rb +163 -56
- data/lib/erbtex/version.rb +1 -1
- data/lib/erbtex.rb +8 -3
- data/spec/lib/command_line_spec.rb +146 -0
- data/spec/lib/find_executable_spec.rb +43 -0
- data/spec/spec_helper.rb +26 -0
- metadata +66 -31
- data/README.md +0 -127
- data/bin/etex +0 -49
- data/bin/latex +0 -49
- data/bin/lualatex +0 -49
- data/bin/luatex +0 -49
- data/bin/pdfetex +0 -49
- data/bin/pdflatex +0 -49
- data/bin/pdftex +0 -49
- data/bin/pslatex +0 -49
- data/bin/tex +0 -49
- data/bin/xelatex +0 -49
- data/bin/xetex +0 -49
- data/test/test_command_line.rb +0 -181
- data/test/test_find_executable.rb +0 -44
- data/test/test_helper.rb +0 -10
data/test/test_command_line.rb
DELETED
@@ -1,181 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class CommandLineTest < Test::Unit::TestCase
|
4
|
-
include ErbTeX
|
5
|
-
|
6
|
-
def setup
|
7
|
-
@test_dir = File.dirname(File.absolute_path(__FILE__))
|
8
|
-
@junk_tex = @test_dir + '/junk.tex'
|
9
|
-
FileUtils.touch(@junk_tex)
|
10
|
-
|
11
|
-
@tex_dir = @test_dir + '/tex_dir'
|
12
|
-
FileUtils.mkdir(@tex_dir) unless File.exists?(@tex_dir)
|
13
|
-
@junk2_tex = @tex_dir + '/junk2.tex'
|
14
|
-
FileUtils.touch(@junk2_tex)
|
15
|
-
|
16
|
-
@tex_dir_nw = @test_dir + '/tex_dir_nw'
|
17
|
-
FileUtils.mkdir(@tex_dir_nw) unless File.exists?(@tex_dir_nw)
|
18
|
-
@junk3_tex = @tex_dir_nw + '/junk3.tex'
|
19
|
-
FileUtils.touch(@junk3_tex)
|
20
|
-
FileUtils.chmod(0500, @tex_dir_nw)
|
21
|
-
|
22
|
-
@junk4_tex = File.expand_path('~/junk.tex')
|
23
|
-
FileUtils.touch(@junk4_tex)
|
24
|
-
end
|
25
|
-
|
26
|
-
def teardown
|
27
|
-
FileUtils.rm(@junk_tex)
|
28
|
-
FileUtils.rm(@junk4_tex)
|
29
|
-
FileUtils.rm_rf(@tex_dir)
|
30
|
-
FileUtils.chmod(0700, @tex_dir_nw)
|
31
|
-
FileUtils.rm_rf(@tex_dir_nw)
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_find_ordinary_input_file
|
35
|
-
cl = 'pdflatex -ini --halt-on-error junk'
|
36
|
-
assert_equal("junk.tex",
|
37
|
-
CommandLine.new(cl).input_file)
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_find_input_file_relative
|
41
|
-
cl = 'pdflatex -ini --halt-on-error ./junk.tex'
|
42
|
-
assert_equal("./junk.tex",
|
43
|
-
CommandLine.new(cl).input_file)
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_find_input_file_relative_no_ext
|
47
|
-
cl = 'pdflatex -ini --halt-on-error ./junk'
|
48
|
-
assert_equal("./junk.tex",
|
49
|
-
CommandLine.new(cl).input_file)
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_find_ordinary_input_file_with_ext
|
53
|
-
cl = 'pdflatex -ini --halt-on-error junk.tex'
|
54
|
-
assert_equal("junk.tex",
|
55
|
-
CommandLine.new(cl).input_file)
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_find_ordinary_input_file_with_spaces
|
59
|
-
fn = 'A junk.tex'
|
60
|
-
FileUtils.touch(fn)
|
61
|
-
cl = "pdflatex -ini --halt-on-error \'#{fn}\'"
|
62
|
-
assert_equal("A junk.tex",
|
63
|
-
CommandLine.new(cl).input_file)
|
64
|
-
FileUtils.rm(fn)
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_no_input_file
|
68
|
-
assert_raise ErbTeX::NoInputFile do
|
69
|
-
cl = 'pdflatex -ini'
|
70
|
-
CommandLine.new(cl)
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
def test_no_input_file_with_eq
|
75
|
-
assert_raise ErbTeX::NoInputFile do
|
76
|
-
cl = 'pdflatex -ini -output-directory=/tmp'
|
77
|
-
CommandLine.new(cl).input_file
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
def test_find_progname
|
82
|
-
cl = 'pdflatex -ini --halt-on-error junk.tex'
|
83
|
-
assert_equal("pdflatex",
|
84
|
-
CommandLine.new(cl).progname)
|
85
|
-
end
|
86
|
-
|
87
|
-
def test_mark_command_line
|
88
|
-
cl = 'pdflatex -ini --halt-on-error junk'
|
89
|
-
clm = '^p^ -ini --halt-on-error ^f^'
|
90
|
-
assert_equal(clm,
|
91
|
-
CommandLine.new(cl).marked_command_line)
|
92
|
-
end
|
93
|
-
|
94
|
-
def test_mark_command_line_with_ext
|
95
|
-
cl = 'pdflatex -ini --halt-on-error junk.tex'
|
96
|
-
clm = '^p^ -ini --halt-on-error ^f^'
|
97
|
-
assert_equal(clm,
|
98
|
-
CommandLine.new(cl).marked_command_line)
|
99
|
-
end
|
100
|
-
|
101
|
-
def test_mark_command_line_with_dir
|
102
|
-
cl = 'pdflatex -ini --halt-on-error ~/junk.tex'
|
103
|
-
clm = '^p^ -ini --halt-on-error ^f^'
|
104
|
-
assert_equal(clm,
|
105
|
-
CommandLine.new(cl).marked_command_line)
|
106
|
-
end
|
107
|
-
|
108
|
-
def test_mark_command_line_with_spaces
|
109
|
-
cl = 'pdflatex -ini --halt-on-error \'/home/ded/A junk.tex\''
|
110
|
-
clm = '^p^ -ini --halt-on-error ^f^'
|
111
|
-
assert_equal(clm,
|
112
|
-
CommandLine.new(cl).marked_command_line)
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_find_embedded_input_file
|
116
|
-
cl = 'pdflatex -ini --halt-on-error \input junk'
|
117
|
-
assert_equal("junk.tex",
|
118
|
-
CommandLine.new(cl).input_file)
|
119
|
-
end
|
120
|
-
|
121
|
-
def test_find_embedded_input_file_with_ext
|
122
|
-
cl = 'pdflatex -ini --halt-on-error \input junk.tex'
|
123
|
-
assert_equal("junk.tex",
|
124
|
-
CommandLine.new(cl).input_file)
|
125
|
-
end
|
126
|
-
|
127
|
-
def test_find_input_file_with_relative
|
128
|
-
cl = 'pdflatex -ini --halt-on-error \input tex_dir/junk2.tex'
|
129
|
-
assert_equal("tex_dir/junk2.tex",
|
130
|
-
CommandLine.new(cl).input_file)
|
131
|
-
end
|
132
|
-
|
133
|
-
def test_find_input_file_with_spaces
|
134
|
-
fn = "my junk2.tex"
|
135
|
-
FileUtils.touch(fn)
|
136
|
-
cl = "pdflatex -ini --halt-on-error \input \"#{fn}\""
|
137
|
-
assert_equal(fn,
|
138
|
-
CommandLine.new(cl).input_file)
|
139
|
-
FileUtils.rm(fn)
|
140
|
-
end
|
141
|
-
|
142
|
-
def test_find_input_path_existing
|
143
|
-
cl = 'pdflatex -ini --halt-on-error \input junk.tex'
|
144
|
-
assert_equal("./junk.tex",
|
145
|
-
CommandLine.new(cl).input_path)
|
146
|
-
end
|
147
|
-
|
148
|
-
def test_dont_find_input_path_non_existing
|
149
|
-
cl = 'pdflatex -ini --halt-on-error \input junk3.tex'
|
150
|
-
assert_raise NoInputFile do
|
151
|
-
CommandLine.new(cl).input_path
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
def test_find_full_path_with_env
|
156
|
-
save_env = ENV['TEXINPUTS']
|
157
|
-
ENV['TEXINPUTS'] = File.dirname(__FILE__) + '/tex_dir'
|
158
|
-
cl = 'pdflatex -ini --halt-on-error \input junk2.tex'
|
159
|
-
assert_equal("./tex_dir/junk2.tex",
|
160
|
-
CommandLine.new(cl).input_path)
|
161
|
-
ENV['TEXINPUTS'] = save_env
|
162
|
-
end
|
163
|
-
|
164
|
-
def test_find_output_dir
|
165
|
-
cl = 'pdflatex -ini --halt-on-error \input junk.tex'
|
166
|
-
assert_equal(File.expand_path('./'), CommandLine.new(cl).output_dir)
|
167
|
-
end
|
168
|
-
|
169
|
-
def test_find_output_dir_with_options
|
170
|
-
cl = 'pdflatex -ini -output-d=~/tmp \input junk.tex'
|
171
|
-
assert_equal(File.expand_path('~/tmp'), CommandLine.new(cl).output_dir)
|
172
|
-
end
|
173
|
-
|
174
|
-
def test_find_output_dir_with_non_writable_pwd
|
175
|
-
cl = 'pdflatex -ini \input junk3.tex'
|
176
|
-
ENV['TEXMFOUTPUT'] = File.expand_path(File.dirname(__FILE__) + '/tex_dir')
|
177
|
-
Dir.chdir('tex_dir_nw') do
|
178
|
-
assert_equal(File.expand_path('../tex_dir'), CommandLine.new(cl).output_dir)
|
179
|
-
end
|
180
|
-
end
|
181
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class FindBinaryTest < Test::Unit::TestCase
|
4
|
-
include ErbTeX
|
5
|
-
|
6
|
-
# Here we set up the situation as we expect it to be after
|
7
|
-
# installation. There is a "real" pdflatex executable binary and
|
8
|
-
# there is one that is just a link to our script, the "fake" binary.
|
9
|
-
# The fake binary is earlier in PATH than the real binary, and we want
|
10
|
-
# this function, when fed the name of the fake binary to deduce the
|
11
|
-
# name of the real binary.
|
12
|
-
def setup
|
13
|
-
# Create a "fake" ruby script named pdflatex
|
14
|
-
@fake_dir = File.dirname(File.absolute_path(__FILE__)) + '/fake_bin'
|
15
|
-
FileUtils.mkdir(@fake_dir) unless File.exist?(@fake_dir)
|
16
|
-
@fake_binary = @fake_dir + '/pdflatex'
|
17
|
-
@erbtex = @fake_dir + '/erbtex'
|
18
|
-
FileUtils.touch(@erbtex)
|
19
|
-
FileUtils.chmod(0700, @erbtex)
|
20
|
-
FileUtils.rm_rf(@fake_binary) if File.exists?(@fake_binary)
|
21
|
-
FileUtils.ln_s(@erbtex, @fake_binary)
|
22
|
-
|
23
|
-
# Point to "real" pdflatex to find
|
24
|
-
@real_binary = '/usr/bin/pdflatex'
|
25
|
-
@real_dir = '/usr/bin'
|
26
|
-
|
27
|
-
# Put the fake dir on the PATH before the real dir
|
28
|
-
ENV['PATH'] = @fake_dir + ':' + @real_dir + ':' + ENV['PATH']
|
29
|
-
end
|
30
|
-
|
31
|
-
def teardown
|
32
|
-
FileUtils.rm_rf(@fake_dir)
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_find_pdflatex
|
36
|
-
assert_equal(@real_binary,
|
37
|
-
ErbTeX.find_executable(@fake_binary))
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_find_pdflatex_with_erbtex
|
41
|
-
assert_equal(@real_binary,
|
42
|
-
ErbTeX.find_executable(@erbtex))
|
43
|
-
end
|
44
|
-
end
|