erubis-bmp 2.7.0.bmp
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGES.txt +828 -0
- data/MIT-LICENSE +20 -0
- data/README.txt +10 -0
- data/benchmark/bench.rb +313 -0
- data/benchmark/bench_context.yaml +141 -0
- data/benchmark/mybench2.rb +266 -0
- data/benchmark/pibench.rb +163 -0
- data/benchmark/templates/_footer.html +4 -0
- data/benchmark/templates/_header.html +52 -0
- data/benchmark/templates/bench_erb.rhtml +29 -0
- data/benchmark/templates/bench_erubis.rhtml +29 -0
- data/benchmark/templates/bench_eruby.rhtml +29 -0
- data/bin/erubis +10 -0
- data/contrib/erubis-run.rb +132 -0
- data/doc/Rookbook.yaml +106 -0
- data/doc/docstyle.css +209 -0
- data/doc/users-guide.html +3551 -0
- data/doc/users-guide.txt +3631 -0
- data/examples/basic/Makefile +58 -0
- data/examples/basic/example.ec +42 -0
- data/examples/basic/example.ecpp +33 -0
- data/examples/basic/example.ejava +45 -0
- data/examples/basic/example.ejs +16 -0
- data/examples/basic/example.eperl +16 -0
- data/examples/basic/example.ephp +17 -0
- data/examples/basic/example.eruby +15 -0
- data/examples/basic/example.escheme +26 -0
- data/examples/pi-xhtml/ExamplePage.xhtml +80 -0
- data/examples/pi-xhtml/Makefile +17 -0
- data/examples/pi-xhtml/my/User.java +19 -0
- data/examples/pi-xhtml/my/Util.java +54 -0
- data/examples/pi/Makefile +54 -0
- data/examples/pi/example.ec +42 -0
- data/examples/pi/example.ejava +45 -0
- data/examples/pi/example.ejs +16 -0
- data/examples/pi/example.eperl +16 -0
- data/examples/pi/example.ephp +17 -0
- data/examples/pi/example.eruby +15 -0
- data/examples/pi/example.escheme +26 -0
- data/lib/erubis.rb +73 -0
- data/lib/erubis/context.rb +83 -0
- data/lib/erubis/converter.rb +357 -0
- data/lib/erubis/engine.rb +120 -0
- data/lib/erubis/engine/ec.rb +117 -0
- data/lib/erubis/engine/ecpp.rb +113 -0
- data/lib/erubis/engine/ejava.rb +110 -0
- data/lib/erubis/engine/ejavascript.rb +119 -0
- data/lib/erubis/engine/enhanced.rb +126 -0
- data/lib/erubis/engine/eperl.rb +95 -0
- data/lib/erubis/engine/ephp.rb +99 -0
- data/lib/erubis/engine/eruby.rb +125 -0
- data/lib/erubis/engine/escheme.rb +114 -0
- data/lib/erubis/engine/optimized.rb +127 -0
- data/lib/erubis/enhancer.rb +723 -0
- data/lib/erubis/error.rb +23 -0
- data/lib/erubis/evaluator.rb +88 -0
- data/lib/erubis/generator.rb +85 -0
- data/lib/erubis/helper.rb +47 -0
- data/lib/erubis/helpers/rails_form_helper.rb +197 -0
- data/lib/erubis/helpers/rails_helper.rb +353 -0
- data/lib/erubis/local-setting.rb +9 -0
- data/lib/erubis/main.rb +516 -0
- data/lib/erubis/preprocessing.rb +58 -0
- data/lib/erubis/tiny.rb +144 -0
- data/lib/erubis/util.rb +22 -0
- data/setup.rb +1331 -0
- data/test/Rookbook.yaml +42 -0
- data/test/assert-text-equal.rb +44 -0
- data/test/test-engines.rb +425 -0
- data/test/test-enhancers.rb +646 -0
- data/test/test-erubis.rb +887 -0
- data/test/test-index-cgi.rb +191 -0
- data/test/test-main.rb +752 -0
- data/test/test-users-guide.rb +73 -0
- data/test/test.rb +45 -0
- data/test/testutil.rb +111 -0
- metadata +121 -0
@@ -0,0 +1,73 @@
|
|
1
|
+
###
|
2
|
+
### $Release:$
|
3
|
+
### $Copyright$
|
4
|
+
###
|
5
|
+
|
6
|
+
require "#{File.dirname(__FILE__)}/test.rb"
|
7
|
+
|
8
|
+
|
9
|
+
class KwarkUsersGuideTest < Test::Unit::TestCase
|
10
|
+
|
11
|
+
DIR = File.expand_path(File.dirname(__FILE__) + '/data/users-guide')
|
12
|
+
CWD = Dir.pwd()
|
13
|
+
|
14
|
+
|
15
|
+
def setup
|
16
|
+
Dir.chdir DIR
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
def teardown
|
21
|
+
Dir.chdir CWD
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def _test
|
26
|
+
@name = (caller()[0] =~ /`(.*?)'/) && $1
|
27
|
+
s = File.read(@filename)
|
28
|
+
s =~ /\A\$ (.*?)\n/
|
29
|
+
command = $1
|
30
|
+
expected = $'
|
31
|
+
if ruby19?
|
32
|
+
case @name
|
33
|
+
when 'test_main_program1_result'
|
34
|
+
expected.sub!('["eruby", "items", "x", "_buf"]', '[:_buf, :eruby, :items, :x]')
|
35
|
+
when 'test_main_program2_result'
|
36
|
+
expected.sub!('["_context", "x", "_buf"]', '[:_buf, :x, :_context]')
|
37
|
+
end
|
38
|
+
elsif rubinius?
|
39
|
+
command.sub!(/^ruby\b/, 'rbx')
|
40
|
+
case @name
|
41
|
+
when 'test_main_program1_result'
|
42
|
+
expected.sub!('["eruby", "items", "x", "_buf"]', '["_buf", "eruby", "items", "x"]')
|
43
|
+
when 'test_main_program2_result'
|
44
|
+
expected.sub!('["_context", "x", "_buf"]', '["_buf", "x", "_context"]')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
result = `#{command}`
|
48
|
+
assert_text_equal(expected, result)
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
Dir.chdir DIR do
|
53
|
+
filenames = []
|
54
|
+
filenames += Dir.glob('*.result')
|
55
|
+
filenames += Dir.glob('*.source')
|
56
|
+
filenames.each do |filename|
|
57
|
+
name = filename.gsub(/[^\w]/, '_')
|
58
|
+
s = <<-END
|
59
|
+
def test_#{name}
|
60
|
+
# $stderr.puts "*** debug: test_#{name}"
|
61
|
+
@name = '#{name}'
|
62
|
+
@filename = '#{filename}'
|
63
|
+
_test()
|
64
|
+
end
|
65
|
+
END
|
66
|
+
eval s
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
self.post_definition()
|
72
|
+
|
73
|
+
end
|
data/test/test.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
##
|
2
|
+
## $Release:$
|
3
|
+
## $Copyright$
|
4
|
+
##
|
5
|
+
|
6
|
+
|
7
|
+
unless defined?(TESTDIR)
|
8
|
+
TESTDIR = File.dirname(__FILE__)
|
9
|
+
LIBDIR = TESTDIR == '.' ? '../lib' : File.dirname(TESTDIR) + '/lib'
|
10
|
+
$: << TESTDIR
|
11
|
+
$: << LIBDIR
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
require 'test/unit'
|
16
|
+
#require 'test/unit/ui/console/testrunner'
|
17
|
+
require 'assert-text-equal'
|
18
|
+
require 'yaml'
|
19
|
+
require 'testutil'
|
20
|
+
require 'erubis'
|
21
|
+
|
22
|
+
|
23
|
+
Test::Unit::TestCase.class_eval do
|
24
|
+
if RUBY_VERSION >= "1.9"
|
25
|
+
## minitest doesn't have 'name()' method
|
26
|
+
def name
|
27
|
+
@name || @__name__
|
28
|
+
end
|
29
|
+
def ruby19
|
30
|
+
yield
|
31
|
+
end
|
32
|
+
else
|
33
|
+
def ruby19
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
if $0 == __FILE__
|
40
|
+
require "#{TESTDIR}/test-erubis.rb"
|
41
|
+
require "#{TESTDIR}/test-engines.rb"
|
42
|
+
require "#{TESTDIR}/test-enhancers.rb"
|
43
|
+
require "#{TESTDIR}/test-main.rb"
|
44
|
+
require "#{TESTDIR}/test-users-guide.rb"
|
45
|
+
end
|
data/test/testutil.rb
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
###
|
2
|
+
### $Release:$
|
3
|
+
### $Copyright$
|
4
|
+
###
|
5
|
+
|
6
|
+
require 'yaml'
|
7
|
+
|
8
|
+
require 'test/unit/testcase'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
def ruby18? # :nodoc:
|
13
|
+
RUBY_VERSION =~ /\A1.8/
|
14
|
+
end
|
15
|
+
|
16
|
+
def ruby19? # :nodoc:
|
17
|
+
RUBY_VERSION =~ /\A1.9/
|
18
|
+
end
|
19
|
+
|
20
|
+
def rubinius? # :nodoc:
|
21
|
+
defined?(RUBY_ENGINE) && RUBY_ENGINE == "rbx"
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
class Test::Unit::TestCase
|
27
|
+
|
28
|
+
|
29
|
+
def self.load_yaml_datafile(filename, options={}, &block) # :nodoc:
|
30
|
+
# read datafile
|
31
|
+
s = File.read(filename)
|
32
|
+
if filename =~ /\.rb$/
|
33
|
+
s =~ /^__END__$/ or raise "*** error: __END__ is not found in '#{filename}'."
|
34
|
+
s = $'
|
35
|
+
end
|
36
|
+
# untabify
|
37
|
+
s = _untabify(s) unless options[:tabify] == false
|
38
|
+
# load yaml document
|
39
|
+
testdata_list = []
|
40
|
+
YAML.load_documents(s) do |ydoc|
|
41
|
+
if ydoc.is_a?(Hash)
|
42
|
+
testdata_list << ydoc
|
43
|
+
elsif ydoc.is_a?(Array)
|
44
|
+
ydoc.each do |hash|
|
45
|
+
raise "testdata should be a mapping." unless hash.is_a?(Hash)
|
46
|
+
testdata_list << hash
|
47
|
+
end
|
48
|
+
else
|
49
|
+
raise "testdata should be a mapping."
|
50
|
+
end
|
51
|
+
end
|
52
|
+
# data check
|
53
|
+
identkey = options[:identkey] || 'name'
|
54
|
+
table = {}
|
55
|
+
testdata_list.each do |hash|
|
56
|
+
ident = hash[identkey]
|
57
|
+
ident or raise "*** key '#{identkey}' is required but not found."
|
58
|
+
table[ident] and raise "*** #{identkey} '#{ident}' is duplicated."
|
59
|
+
table[ident] = hash
|
60
|
+
yield(hash) if block
|
61
|
+
end
|
62
|
+
#
|
63
|
+
return testdata_list
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
def self.define_testmethods(testdata_list, options={}, &block)
|
68
|
+
identkey = options[:identkey] || 'name'
|
69
|
+
testmethod = options[:testmethod] || '_test'
|
70
|
+
testdata_list.each do |hash|
|
71
|
+
yield(hash) if block
|
72
|
+
ident = hash[identkey]
|
73
|
+
s = "def test_#{ident}\n"
|
74
|
+
hash.each do |key, val|
|
75
|
+
s << " @#{key} = #{val.inspect}\n"
|
76
|
+
end
|
77
|
+
s << " #{testmethod}\n"
|
78
|
+
s << "end\n"
|
79
|
+
$stderr.puts "*** load_yaml_testdata(): eval_str=<<'END'\n#{s}END" if $DEBUG
|
80
|
+
self.module_eval s
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
|
85
|
+
def self.post_definition
|
86
|
+
if ENV['TEST']
|
87
|
+
target = "test_#{ENV['TEST']}"
|
88
|
+
self.instance_methods.each do |method_name|
|
89
|
+
m = method_name.to_s
|
90
|
+
private m if m =~ /\Atest_/ && m != target
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
def self._untabify(str, width=8)
|
97
|
+
return str if str.nil?
|
98
|
+
list = str.split(/\t/, -1) # if 2nd arg is negative then split() doesn't remove tailing empty strings
|
99
|
+
last = list.pop
|
100
|
+
sb = ''
|
101
|
+
list.each do |s|
|
102
|
+
column = (n = s.rindex(?\n)) ? s.length - n - 1 : s.length
|
103
|
+
n = width - (column % width)
|
104
|
+
sb << s << (' ' * n)
|
105
|
+
end
|
106
|
+
sb << last if last
|
107
|
+
return sb
|
108
|
+
end
|
109
|
+
|
110
|
+
|
111
|
+
end
|
metadata
ADDED
@@ -0,0 +1,121 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: erubis-bmp
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.7.0.bmp
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- makoto kuwata
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-01-14 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: |2
|
14
|
+
This is a fork of erubis used by Brakeman Pro.
|
15
|
+
email: kwa(at)kuwata-lab.com
|
16
|
+
executables:
|
17
|
+
- erubis
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- CHANGES.txt
|
22
|
+
- MIT-LICENSE
|
23
|
+
- README.txt
|
24
|
+
- benchmark/bench.rb
|
25
|
+
- benchmark/bench_context.yaml
|
26
|
+
- benchmark/mybench2.rb
|
27
|
+
- benchmark/pibench.rb
|
28
|
+
- benchmark/templates/_footer.html
|
29
|
+
- benchmark/templates/_header.html
|
30
|
+
- benchmark/templates/bench_erb.rhtml
|
31
|
+
- benchmark/templates/bench_erubis.rhtml
|
32
|
+
- benchmark/templates/bench_eruby.rhtml
|
33
|
+
- bin/erubis
|
34
|
+
- contrib/erubis-run.rb
|
35
|
+
- doc/Rookbook.yaml
|
36
|
+
- doc/docstyle.css
|
37
|
+
- doc/users-guide.html
|
38
|
+
- doc/users-guide.txt
|
39
|
+
- examples/basic/Makefile
|
40
|
+
- examples/basic/example.ec
|
41
|
+
- examples/basic/example.ecpp
|
42
|
+
- examples/basic/example.ejava
|
43
|
+
- examples/basic/example.ejs
|
44
|
+
- examples/basic/example.eperl
|
45
|
+
- examples/basic/example.ephp
|
46
|
+
- examples/basic/example.eruby
|
47
|
+
- examples/basic/example.escheme
|
48
|
+
- examples/pi-xhtml/ExamplePage.xhtml
|
49
|
+
- examples/pi-xhtml/Makefile
|
50
|
+
- examples/pi-xhtml/my/User.java
|
51
|
+
- examples/pi-xhtml/my/Util.java
|
52
|
+
- examples/pi/Makefile
|
53
|
+
- examples/pi/example.ec
|
54
|
+
- examples/pi/example.ejava
|
55
|
+
- examples/pi/example.ejs
|
56
|
+
- examples/pi/example.eperl
|
57
|
+
- examples/pi/example.ephp
|
58
|
+
- examples/pi/example.eruby
|
59
|
+
- examples/pi/example.escheme
|
60
|
+
- lib/erubis.rb
|
61
|
+
- lib/erubis/context.rb
|
62
|
+
- lib/erubis/converter.rb
|
63
|
+
- lib/erubis/engine.rb
|
64
|
+
- lib/erubis/engine/ec.rb
|
65
|
+
- lib/erubis/engine/ecpp.rb
|
66
|
+
- lib/erubis/engine/ejava.rb
|
67
|
+
- lib/erubis/engine/ejavascript.rb
|
68
|
+
- lib/erubis/engine/enhanced.rb
|
69
|
+
- lib/erubis/engine/eperl.rb
|
70
|
+
- lib/erubis/engine/ephp.rb
|
71
|
+
- lib/erubis/engine/eruby.rb
|
72
|
+
- lib/erubis/engine/escheme.rb
|
73
|
+
- lib/erubis/engine/optimized.rb
|
74
|
+
- lib/erubis/enhancer.rb
|
75
|
+
- lib/erubis/error.rb
|
76
|
+
- lib/erubis/evaluator.rb
|
77
|
+
- lib/erubis/generator.rb
|
78
|
+
- lib/erubis/helper.rb
|
79
|
+
- lib/erubis/helpers/rails_form_helper.rb
|
80
|
+
- lib/erubis/helpers/rails_helper.rb
|
81
|
+
- lib/erubis/local-setting.rb
|
82
|
+
- lib/erubis/main.rb
|
83
|
+
- lib/erubis/preprocessing.rb
|
84
|
+
- lib/erubis/tiny.rb
|
85
|
+
- lib/erubis/util.rb
|
86
|
+
- setup.rb
|
87
|
+
- test/Rookbook.yaml
|
88
|
+
- test/assert-text-equal.rb
|
89
|
+
- test/test-engines.rb
|
90
|
+
- test/test-enhancers.rb
|
91
|
+
- test/test-erubis.rb
|
92
|
+
- test/test-index-cgi.rb
|
93
|
+
- test/test-main.rb
|
94
|
+
- test/test-users-guide.rb
|
95
|
+
- test/test.rb
|
96
|
+
- test/testutil.rb
|
97
|
+
homepage: https://github.com/BrakemanSecurityInc/erubis
|
98
|
+
licenses: []
|
99
|
+
metadata: {}
|
100
|
+
post_install_message:
|
101
|
+
rdoc_options: []
|
102
|
+
require_paths:
|
103
|
+
- lib
|
104
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ">"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 1.3.1
|
114
|
+
requirements: []
|
115
|
+
rubyforge_project: erubis
|
116
|
+
rubygems_version: 2.4.8
|
117
|
+
signing_key:
|
118
|
+
specification_version: 4
|
119
|
+
summary: a fast and extensible eRuby implementation which supports multi-language
|
120
|
+
test_files:
|
121
|
+
- test/test.rb
|