erubis-bmp 2.7.0.bmp

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES.txt +828 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.txt +10 -0
  5. data/benchmark/bench.rb +313 -0
  6. data/benchmark/bench_context.yaml +141 -0
  7. data/benchmark/mybench2.rb +266 -0
  8. data/benchmark/pibench.rb +163 -0
  9. data/benchmark/templates/_footer.html +4 -0
  10. data/benchmark/templates/_header.html +52 -0
  11. data/benchmark/templates/bench_erb.rhtml +29 -0
  12. data/benchmark/templates/bench_erubis.rhtml +29 -0
  13. data/benchmark/templates/bench_eruby.rhtml +29 -0
  14. data/bin/erubis +10 -0
  15. data/contrib/erubis-run.rb +132 -0
  16. data/doc/Rookbook.yaml +106 -0
  17. data/doc/docstyle.css +209 -0
  18. data/doc/users-guide.html +3551 -0
  19. data/doc/users-guide.txt +3631 -0
  20. data/examples/basic/Makefile +58 -0
  21. data/examples/basic/example.ec +42 -0
  22. data/examples/basic/example.ecpp +33 -0
  23. data/examples/basic/example.ejava +45 -0
  24. data/examples/basic/example.ejs +16 -0
  25. data/examples/basic/example.eperl +16 -0
  26. data/examples/basic/example.ephp +17 -0
  27. data/examples/basic/example.eruby +15 -0
  28. data/examples/basic/example.escheme +26 -0
  29. data/examples/pi-xhtml/ExamplePage.xhtml +80 -0
  30. data/examples/pi-xhtml/Makefile +17 -0
  31. data/examples/pi-xhtml/my/User.java +19 -0
  32. data/examples/pi-xhtml/my/Util.java +54 -0
  33. data/examples/pi/Makefile +54 -0
  34. data/examples/pi/example.ec +42 -0
  35. data/examples/pi/example.ejava +45 -0
  36. data/examples/pi/example.ejs +16 -0
  37. data/examples/pi/example.eperl +16 -0
  38. data/examples/pi/example.ephp +17 -0
  39. data/examples/pi/example.eruby +15 -0
  40. data/examples/pi/example.escheme +26 -0
  41. data/lib/erubis.rb +73 -0
  42. data/lib/erubis/context.rb +83 -0
  43. data/lib/erubis/converter.rb +357 -0
  44. data/lib/erubis/engine.rb +120 -0
  45. data/lib/erubis/engine/ec.rb +117 -0
  46. data/lib/erubis/engine/ecpp.rb +113 -0
  47. data/lib/erubis/engine/ejava.rb +110 -0
  48. data/lib/erubis/engine/ejavascript.rb +119 -0
  49. data/lib/erubis/engine/enhanced.rb +126 -0
  50. data/lib/erubis/engine/eperl.rb +95 -0
  51. data/lib/erubis/engine/ephp.rb +99 -0
  52. data/lib/erubis/engine/eruby.rb +125 -0
  53. data/lib/erubis/engine/escheme.rb +114 -0
  54. data/lib/erubis/engine/optimized.rb +127 -0
  55. data/lib/erubis/enhancer.rb +723 -0
  56. data/lib/erubis/error.rb +23 -0
  57. data/lib/erubis/evaluator.rb +88 -0
  58. data/lib/erubis/generator.rb +85 -0
  59. data/lib/erubis/helper.rb +47 -0
  60. data/lib/erubis/helpers/rails_form_helper.rb +197 -0
  61. data/lib/erubis/helpers/rails_helper.rb +353 -0
  62. data/lib/erubis/local-setting.rb +9 -0
  63. data/lib/erubis/main.rb +516 -0
  64. data/lib/erubis/preprocessing.rb +58 -0
  65. data/lib/erubis/tiny.rb +144 -0
  66. data/lib/erubis/util.rb +22 -0
  67. data/setup.rb +1331 -0
  68. data/test/Rookbook.yaml +42 -0
  69. data/test/assert-text-equal.rb +44 -0
  70. data/test/test-engines.rb +425 -0
  71. data/test/test-enhancers.rb +646 -0
  72. data/test/test-erubis.rb +887 -0
  73. data/test/test-index-cgi.rb +191 -0
  74. data/test/test-main.rb +752 -0
  75. data/test/test-users-guide.rb +73 -0
  76. data/test/test.rb +45 -0
  77. data/test/testutil.rb +111 -0
  78. 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
@@ -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
@@ -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