lizarb 1.0.3 → 1.0.4
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +12 -13
- data/Rakefile +38 -0
- data/app/dev_box.rb +14 -12
- data/app/happy_box.rb +2 -2
- data/app/net_box.rb +4 -4
- data/app/web_box.rb +4 -4
- data/app.rb +6 -7
- data/{exe/Gemfile → app_global.gemfile.rb} +2 -0
- data/app_global.gemfile.rb.lock +19 -0
- data/app_global.rb +4 -0
- data/{app → app_new}/dev/benches/loops_bench.rb +3 -2
- data/{app/dev/generators/bench_generator_test.rb → app_new/dev/benches/loops_bench_test.rb} +2 -2
- data/app_new/dev/benches/objects_bench.rb +83 -0
- data/{app/dev/generators/record_generator_test.rb → app_new/dev/benches/objects_bench_test.rb} +2 -2
- data/app_new/dev/benches/sorted_bench.rb +54 -0
- data/app_new/dev/benches/sorted_bench_test.rb +12 -0
- data/app_new/dev/benches/variables_bench.rb +55 -0
- data/{app/dev/generators/command_generator_test.rb → app_new/dev/benches/variables_bench_test.rb} +2 -2
- data/{app → app_new}/dev/commands/calculator_command.rb +1 -1
- data/{app → app_new}/dev/commands/circle_command.rb +1 -1
- data/{app → app_new}/dev/commands/narrative_method_command.rb +5 -7
- data/{app → app_new}/dev/commands/quadratic_command.rb +1 -1
- data/app_new/dev_box.rb +14 -0
- data/app_new.rb +15 -0
- data/exe/lizarb +9 -1
- data/lib/app.rb +27 -95
- data/lib/dev_system/dev/controllers/bench/not_found_bench.rb +15 -8
- data/lib/dev_system/dev/controllers/bench.rb +0 -6
- data/lib/dev_system/dev/controllers/command/bench_command.rb +1 -2
- data/lib/dev_system/dev/controllers/command/generate_command.rb +3 -27
- data/lib/dev_system/dev/controllers/command/new_command.rb +9 -0
- data/lib/dev_system/dev/controllers/command/new_command_test.rb +7 -0
- data/lib/dev_system/dev/controllers/command/not_found_command.rb +29 -8
- data/lib/dev_system/dev/controllers/command/terminal_command.rb +2 -2
- data/lib/dev_system/dev/controllers/command/test_command.rb +6 -6
- data/lib/dev_system/dev/controllers/command.rb +9 -13
- data/lib/dev_system/dev/controllers/generator_dsl_main_part.rb +2 -4
- data/{app/dev/generators/bench_generator/bench.rb.erb → lib/dev_system/dev/controllers/generators/bench_generator/controller.rb.erb} +1 -2
- data/{app/dev/generators/bench_generator/bench_test.rb.erb → lib/dev_system/dev/controllers/generators/bench_generator/controller_test.rb.erb} +2 -2
- data/lib/dev_system/dev/controllers/generators/bench_generator.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/bench_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/command_generator/controller.rb.erb +41 -0
- data/{app/dev/generators/command_generator/command_test.rb.erb → lib/dev_system/dev/controllers/generators/command_generator/controller_test.rb.erb} +2 -2
- data/lib/dev_system/dev/controllers/generators/command_generator.rb +19 -0
- data/lib/dev_system/dev/controllers/generators/command_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/controller_generator.rb +97 -0
- data/lib/dev_system/dev/controllers/generators/controller_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/generator_generator/template.rb.erb +1 -1
- data/lib/dev_system/dev/controllers/generators/new_generator.rb +117 -0
- data/lib/dev_system/dev/controllers/generators/new_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/generators/not_found_generator.rb +20 -8
- data/{app/dev → lib/dev_system/dev/controllers}/generators/record_generator.rb +1 -1
- data/lib/dev_system/dev/controllers/generators/record_generator_test.rb +12 -0
- data/{app/dev → lib/dev_system/dev/controllers}/generators/request_generator.rb +2 -2
- data/lib/dev_system/dev/controllers/generators/request_generator_test.rb +12 -0
- data/lib/dev_system/dev/controllers/log.rb +3 -0
- data/{app/dev/generators/request_generator_test.rb → lib/dev_system/dev/controllers/log_test.rb} +2 -2
- data/lib/dev_system/dev/controllers/shell.rb +22 -0
- data/lib/dev_system/dev/controllers/shell_test.rb +25 -0
- data/lib/dev_system/dev/controllers/terminal/irb_terminal.rb +7 -1
- data/lib/dev_system/dev/controllers/terminal/pry_terminal.rb +1 -1
- data/lib/dev_system/dev/dev_box.rb +12 -18
- data/lib/dev_system/dev/panels/command_panel.rb +54 -11
- data/lib/dev_system/dev/panels/command_panel_test.rb +35 -10
- data/lib/dev_system/dev/panels/generator_panel.rb +70 -0
- data/lib/dev_system/dev/panels/generator_panel_test.rb +34 -0
- data/lib/happy_system/happy/happy_box.rb +2 -3
- data/lib/lerb.rb +95 -49
- data/lib/liza/base/box.rb +6 -1
- data/lib/liza/base/panel.rb +16 -18
- data/lib/liza/base/panel_test.rb +27 -1
- data/lib/liza/base_parts/controller_renderer_part.rb +1 -1
- data/lib/liza/ruby_tests/module_test.rb +2 -2
- data/lib/liza/test/test_test.rb +5 -1
- data/lib/liza/test_parts/test_assertions_part.rb +1 -1
- data/lib/liza/test_parts/test_dsl_part.rb +3 -3
- data/lib/liza/test_parts/test_tree_part.rb +4 -49
- data/lib/liza/unit.rb +73 -79
- data/lib/liza/unit_parts/unit_procedure_part_test.rb +9 -9
- data/lib/liza/unit_parts/unit_settings_part.rb +76 -0
- data/lib/liza/unit_parts/unit_settings_part_test.rb +3 -0
- data/lib/liza/unit_test.rb +11 -0
- data/lib/liza.rb +10 -1
- data/lib/lizarb/ruby/module.rb +1 -1
- data/lib/lizarb/version.rb +1 -1
- data/lib/lizarb.rb +247 -23
- data/lib/net_system/dev/net_command.rb +9 -9
- data/lib/net_system/net/controllers/client/redis_client.rb +1 -1
- data/lib/net_system/net/controllers/client/sqlite_client.rb +1 -1
- data/lib/net_system/net/net_box.rb +4 -6
- data/lib/web_system/dev/rack_command.rb +1 -8
- data/lib/web_system/dev/request_command.rb +6 -20
- data/lib/web_system/web/panels/request_panel.rb +0 -2
- data/lib/web_system/web/web_box.rb +4 -6
- data/lizarb.gemspec +1 -1
- metadata +46 -41
- data/.ruby-version +0 -1
- data/app/dev/benches/app_bench.rb +0 -5
- data/app/dev/benches/app_bench_test.rb +0 -7
- data/app/dev/benches/loops_bench_test.rb +0 -11
- data/app/dev/commands/app_command.rb +0 -5
- data/app/dev/commands/app_command_test.rb +0 -7
- data/app/dev/commands/new_command.rb +0 -9
- data/app/dev/commands/new_command_test.rb +0 -7
- data/app/dev/generators/bench_generator.rb +0 -18
- data/app/dev/generators/command_generator/command.rb.erb +0 -26
- data/app/dev/generators/command_generator.rb +0 -18
- data/exe/Gemfile.lock +0 -13
- data/lib/dev_system/dev/controllers/bench_dsl_main_part.rb +0 -58
- data/lib/dev_system/dev/controllers/command/echo_command.rb +0 -9
- data/lib/dev_system/dev/controllers/command/echo_command_test.rb +0 -12
- data/lib/dev_system/dev/controllers/command/version_command.rb +0 -7
- data/lib/dev_system/dev/controllers/command/version_command_test.rb +0 -12
- data/lib/dev_system/dev/controllers/generators/app_generator.rb +0 -146
- data/lib/dev_system/dev/controllers/generators/app_generator_test.rb +0 -12
- /data/{app → app_new}/dev/commands/calculator_command_test.rb +0 -0
- /data/{app → app_new}/dev/commands/circle_command_test.rb +0 -0
- /data/{app → app_new}/dev/commands/narrative_method_command_test.rb +0 -0
- /data/{app → app_new}/dev/commands/quadratic_command_test.rb +0 -0
@@ -1,3 +1,73 @@
|
|
1
1
|
class DevSystem::GeneratorPanel < Liza::Panel
|
2
|
+
class Error < StandardError; end
|
3
|
+
class ParseError < Error; end
|
4
|
+
|
5
|
+
#
|
6
|
+
|
7
|
+
def call args
|
8
|
+
log "args = #{args}"
|
9
|
+
|
10
|
+
return call_not_found args if args.none?
|
11
|
+
|
12
|
+
struct = parse args[0]
|
13
|
+
struct.generator = short struct.generator
|
14
|
+
generator = find struct.generator
|
15
|
+
|
16
|
+
case
|
17
|
+
when struct.class_method
|
18
|
+
_call_log "#{generator}.#{struct.class_method}(#{args[1..-1]})"
|
19
|
+
generator.public_send struct.class_method, args[1..-1]
|
20
|
+
when struct.instance_method
|
21
|
+
_call_log "#{generator}.new.#{struct.instance_method}(#{args[1..-1]})"
|
22
|
+
generator.new.public_send struct.instance_method, args[1..-1]
|
23
|
+
when struct.method
|
24
|
+
if generator.respond_to?(struct.method)
|
25
|
+
_call_log "#{generator}.#{struct.method}(#{args[1..-1]})"
|
26
|
+
generator.public_send struct.method, args[1..-1]
|
27
|
+
else
|
28
|
+
_call_log "#{generator}.new.#{struct.method}(#{args[1..-1]})"
|
29
|
+
generator.new.public_send struct.method, args[1..-1]
|
30
|
+
end
|
31
|
+
else
|
32
|
+
_call_log "#{generator}.call(#{args[1..-1]})"
|
33
|
+
generator.call args[1..-1]
|
34
|
+
end
|
35
|
+
rescue ParseError
|
36
|
+
call_not_found args
|
37
|
+
end
|
38
|
+
|
39
|
+
def _call_log string
|
40
|
+
log "#{string}" if get :log_details
|
41
|
+
end
|
42
|
+
|
43
|
+
#
|
44
|
+
|
45
|
+
PARSE_REGEX = /(?<generator>[a-z_]+)(?::(?<class_method>[a-z_]+))?(?:#(?<instance_method>[a-z_]+))?(?:\.(?<method>[a-z_]+))?/
|
46
|
+
|
47
|
+
# OpenStruct generator class_method instance_method method
|
48
|
+
def parse string
|
49
|
+
md = string.to_s.match PARSE_REGEX
|
50
|
+
raise ParseError if md.nil?
|
51
|
+
hash = md.named_captures
|
52
|
+
log "{#{hash.map { ":#{_1} => #{_2.to_s.inspect}" }.join(", ") }}" if get :log_details
|
53
|
+
OpenStruct.new hash
|
54
|
+
end
|
55
|
+
|
56
|
+
#
|
57
|
+
|
58
|
+
def find string
|
59
|
+
k = Liza.const "#{string}_generator"
|
60
|
+
rescue Liza::ConstNotFound
|
61
|
+
k = Liza::NotFoundGenerator
|
62
|
+
ensure
|
63
|
+
log k.to_s if get :log_details
|
64
|
+
k
|
65
|
+
end
|
66
|
+
|
67
|
+
#
|
68
|
+
|
69
|
+
def call_not_found args
|
70
|
+
Liza[:NotFoundGenerator].call args
|
71
|
+
end
|
2
72
|
|
3
73
|
end
|
@@ -9,4 +9,38 @@ class DevSystem::GeneratorPanelTest < Liza::PanelTest
|
|
9
9
|
assert subject_class.log_color == :green
|
10
10
|
end
|
11
11
|
|
12
|
+
test :parse do
|
13
|
+
struct = subject.parse "system"
|
14
|
+
assert_equality struct.generator, "system"
|
15
|
+
assert_equality struct.class_method, nil
|
16
|
+
assert_equality struct.instance_method, nil
|
17
|
+
assert_equality struct.method, nil
|
18
|
+
|
19
|
+
struct = subject.parse "system:install"
|
20
|
+
assert_equality struct.generator, "system"
|
21
|
+
assert_equality struct.class_method, "install"
|
22
|
+
assert_equality struct.instance_method, nil
|
23
|
+
assert_equality struct.method, nil
|
24
|
+
|
25
|
+
struct = subject.parse "system#install"
|
26
|
+
assert_equality struct.generator, "system"
|
27
|
+
assert_equality struct.class_method, nil
|
28
|
+
assert_equality struct.instance_method, "install"
|
29
|
+
assert_equality struct.method, nil
|
30
|
+
|
31
|
+
struct = subject.parse "system.install"
|
32
|
+
assert_equality struct.generator, "system"
|
33
|
+
assert_equality struct.class_method, nil
|
34
|
+
assert_equality struct.instance_method, nil
|
35
|
+
assert_equality struct.method, "install"
|
36
|
+
end
|
37
|
+
|
38
|
+
test :find do
|
39
|
+
klass = subject.find "command"
|
40
|
+
assert_equality DevSystem::CommandGenerator, klass
|
41
|
+
|
42
|
+
klass = subject.find "c"
|
43
|
+
assert_equality DevSystem::NotFoundGenerator, klass
|
44
|
+
end
|
45
|
+
|
12
46
|
end
|
@@ -1,9 +1,8 @@
|
|
1
1
|
class HappySystem::HappyBox < Liza::Box
|
2
2
|
|
3
|
-
#
|
4
|
-
|
3
|
+
# Configure your axo panel per the DSL in http://guides.lizarb.org/panels/axo.html
|
4
|
+
configure :axo do
|
5
5
|
# set :log_level, ENV["happy.axo.log_level"]
|
6
6
|
end
|
7
7
|
|
8
|
-
has_controller :axo
|
9
8
|
end
|
data/lib/lerb.rb
CHANGED
@@ -3,95 +3,141 @@
|
|
3
3
|
# https://docs.ruby-lang.org/en/3.2/ERB.html
|
4
4
|
require "erb"
|
5
5
|
|
6
|
+
$LERB_VERBOSE = ENV["LERB_VERBOSE"]
|
7
|
+
|
6
8
|
class LERB < ERB
|
7
9
|
class Error < StandardError; end
|
8
10
|
class BuildError < Error; end
|
9
11
|
class ExecutionError < Error; end
|
10
12
|
|
11
|
-
#
|
13
|
+
# output
|
12
14
|
|
13
|
-
def self.
|
14
|
-
|
15
|
+
def self.puts string=nil
|
16
|
+
super if $LERB_VERBOSE
|
15
17
|
end
|
16
18
|
|
17
|
-
|
18
|
-
ret = []
|
19
|
-
|
20
|
-
fname = path
|
21
|
-
return ret unless File.exist? path
|
19
|
+
# loaders
|
22
20
|
|
23
|
-
|
21
|
+
DEFAULT_KEY = "inline.txt.erb"
|
24
22
|
|
25
|
-
|
26
|
-
|
23
|
+
def self.load path_radical
|
24
|
+
erbs = []
|
27
25
|
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
"#{path_radical}.rb".tap do |filename|
|
27
|
+
_load erbs, filename
|
28
|
+
end
|
31
29
|
|
32
|
-
|
33
|
-
|
34
|
-
# => ["a", "html", "erb", "\n<html>\n<a></a>\n</html>\n"]
|
35
|
-
key = "#{chunk[0]}.#{chunk[1]}.#{chunk[2]}"
|
36
|
-
content = chunk[3]
|
37
|
-
ret.push new :file, key, content, fname, lineno
|
30
|
+
Dir.glob("#{path_radical}.*.erb").each do |filename|
|
31
|
+
_load erbs, filename
|
38
32
|
end
|
39
33
|
|
40
|
-
|
41
|
-
|
34
|
+
Dir.glob("#{path_radical}/*.*.erb").each do |filename|
|
35
|
+
_load erbs, filename
|
36
|
+
end
|
42
37
|
|
43
|
-
|
44
|
-
ret = []
|
38
|
+
#
|
45
39
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
key = fname.split("/").last
|
50
|
-
content = File.read fname
|
51
|
-
ret.push new :folder, key, content, fname, lineno
|
40
|
+
puts "#{erbs.size} erbs".on_red
|
41
|
+
erbs.each do |h|
|
42
|
+
puts "key: #{h.key}".on_green
|
52
43
|
end
|
53
44
|
|
54
|
-
|
45
|
+
erbs
|
55
46
|
end
|
56
47
|
|
57
|
-
|
48
|
+
def self._load erbs, filename
|
49
|
+
is_erb = filename.end_with? ".erb"
|
50
|
+
is_ignoring_ruby = !is_erb
|
51
|
+
is_accepting_views = false
|
52
|
+
|
53
|
+
puts
|
54
|
+
puts "LERB filename: #{filename}".on_red
|
55
|
+
|
56
|
+
puts "LERB is_erb: #{is_erb}".on_red
|
57
|
+
puts "LERB is_ignoring_ruby: #{is_ignoring_ruby}".on_red
|
58
|
+
puts "LERB is_accepting_views: #{is_accepting_views}".on_red
|
59
|
+
|
60
|
+
current_lineno = 0
|
61
|
+
current_content = ""
|
62
|
+
current_key = is_erb ? filename.split("/").last : DEFAULT_KEY
|
63
|
+
|
64
|
+
if current_key
|
65
|
+
puts "LERB declare: #{current_key} | because not erb".green
|
66
|
+
end
|
58
67
|
|
59
|
-
|
68
|
+
File.readlines(filename).each.with_index do |line, lineno|
|
69
|
+
is_line_end = line == "__END__\n"
|
70
|
+
|
71
|
+
# stop ignoring ruby lines if line is __END__
|
72
|
+
# move to next line if ignoring ruby lines
|
73
|
+
|
74
|
+
if is_ignoring_ruby
|
75
|
+
puts "LERB ignore: #{lineno}: #{line[0..-2]}".light_black
|
76
|
+
if is_line_end
|
77
|
+
is_ignoring_ruby = false
|
78
|
+
is_accepting_views = true
|
79
|
+
current_lineno = lineno + 1
|
80
|
+
puts "LERB declare: #{current_key} | current".green if current_key
|
81
|
+
end
|
82
|
+
next
|
83
|
+
end
|
84
|
+
|
85
|
+
if is_accepting_views && line[0..6] == "# view "
|
86
|
+
_load_into erbs, filename, current_lineno, current_key, current_content
|
87
|
+
current_key = line[7..-1].strip
|
88
|
+
current_lineno = lineno + 1
|
89
|
+
current_content = ""
|
90
|
+
puts "LERB declare: #{current_key} | #{lineno}: #{line[0..-2]}".green
|
91
|
+
else
|
92
|
+
current_content += line
|
93
|
+
puts "LERB keeping: #{lineno}: #{line[0..-2]}".bold.white
|
94
|
+
end
|
95
|
+
|
96
|
+
if is_line_end
|
97
|
+
puts "LERB warning: #{lineno}: #{line[0..-2]} found! No longer accepting views".light_yellow
|
98
|
+
is_accepting_views = false
|
99
|
+
end
|
100
|
+
end
|
60
101
|
|
61
|
-
|
62
|
-
|
102
|
+
_load_into erbs, filename, current_lineno, current_key, current_content
|
103
|
+
|
104
|
+
erbs
|
63
105
|
end
|
64
106
|
|
65
|
-
|
107
|
+
def self._load_into erbs, filename, lineno, key, content
|
108
|
+
return unless key
|
109
|
+
return unless key.end_with? "erb"
|
110
|
+
return if content.strip.empty?
|
66
111
|
|
67
|
-
|
112
|
+
content += "\n" if content[-1] != "\n"
|
68
113
|
|
69
|
-
|
70
|
-
@source == :file
|
114
|
+
erbs.push new filename, lineno, key, content
|
71
115
|
end
|
72
116
|
|
73
|
-
|
74
|
-
|
117
|
+
# format
|
118
|
+
|
119
|
+
TAG_FORMATS = %w|xml html|
|
120
|
+
|
121
|
+
def tags?
|
122
|
+
TAG_FORMATS.include? format
|
75
123
|
end
|
76
124
|
|
77
125
|
# constructor
|
78
126
|
|
79
127
|
TRIM_MODE = "<>-"
|
80
128
|
|
81
|
-
attr_reader :
|
82
|
-
|
83
|
-
def initialize source, key, content, filename, lineno
|
84
|
-
raise BuildError, "source :#{source} must be one of #{SOURCES}" unless SOURCES.include? source
|
129
|
+
attr_reader :key, :name, :format
|
85
130
|
|
131
|
+
def initialize filename, lineno, key, content
|
86
132
|
segments = key.split("/").last.split(".")
|
87
133
|
name, format = segments[0..1]
|
88
134
|
|
89
|
-
|
90
|
-
|
91
|
-
|
135
|
+
if format.gsub(/[^a-z0-9]/, "") != format
|
136
|
+
raise BuildError, "key '#{key}' has an invalid format '#{format}'"
|
137
|
+
end
|
92
138
|
|
93
139
|
super content, trim_mode: TRIM_MODE
|
94
|
-
|
140
|
+
self.filename, self.lineno, @key, @name, @format = filename, lineno, key, name, format
|
95
141
|
end
|
96
142
|
|
97
143
|
# result
|
data/lib/liza/base/box.rb
CHANGED
@@ -56,7 +56,7 @@ class Liza::Box < Liza::Unit
|
|
56
56
|
panels[symbol].started
|
57
57
|
end
|
58
58
|
|
59
|
-
def self.
|
59
|
+
def self.has_panel symbol, panel_class = nil, &block
|
60
60
|
raise ArgumentError, "block required" unless block_given?
|
61
61
|
|
62
62
|
system_class = get :system
|
@@ -82,4 +82,9 @@ class Liza::Box < Liza::Unit
|
|
82
82
|
controller_class.on_connected self, panel
|
83
83
|
end
|
84
84
|
|
85
|
+
def self.configure name, &block
|
86
|
+
has_panel name, &block
|
87
|
+
has_controller name, name
|
88
|
+
end
|
89
|
+
|
85
90
|
end
|
data/lib/liza/base/panel.rb
CHANGED
@@ -13,12 +13,27 @@ class Liza::Panel < Liza::Unit
|
|
13
13
|
self.class.box
|
14
14
|
end
|
15
15
|
|
16
|
+
#
|
17
|
+
|
16
18
|
def initialize key
|
17
19
|
@key = key
|
18
20
|
@blocks = []
|
19
21
|
@unstarted = true
|
22
|
+
@short = {}
|
20
23
|
end
|
21
24
|
|
25
|
+
#
|
26
|
+
|
27
|
+
def short a, b = nil
|
28
|
+
if b
|
29
|
+
@short[a.to_s] = b.to_s
|
30
|
+
else
|
31
|
+
@short[a.to_s] || a.to_s
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
#
|
36
|
+
|
22
37
|
def push block
|
23
38
|
@unstarted = true
|
24
39
|
@blocks.push block
|
@@ -28,27 +43,10 @@ class Liza::Panel < Liza::Unit
|
|
28
43
|
return self unless defined? @unstarted
|
29
44
|
remove_instance_variable :@unstarted
|
30
45
|
|
31
|
-
@blocks.each { |bl| instance_eval
|
46
|
+
@blocks.each { |bl| instance_eval(&bl) }
|
32
47
|
@blocks.clear
|
33
48
|
|
34
49
|
self
|
35
50
|
end
|
36
|
-
|
37
|
-
def log log_level = :normal, string
|
38
|
-
raise "invalid log_level `#{log_level}`" unless LOG_LEVELS.keys.include? log_level
|
39
|
-
return unless log_level? log_level
|
40
|
-
|
41
|
-
source = box.to_s
|
42
|
-
|
43
|
-
x = source.size
|
44
|
-
source = source.bold.colorize log_color
|
45
|
-
|
46
|
-
y = source.size
|
47
|
-
source = "#{source}[:#{@key}]".ljust(LOG_JUST+y-x)
|
48
|
-
|
49
|
-
string = "#{source} #{string}"
|
50
|
-
|
51
|
-
DevBox[:log].call string
|
52
|
-
end
|
53
51
|
|
54
52
|
end
|
data/lib/liza/base/panel_test.rb
CHANGED
@@ -4,11 +4,37 @@ class Liza::PanelTest < Liza::UnitTest
|
|
4
4
|
end
|
5
5
|
|
6
6
|
def subject
|
7
|
-
subject_class.new "name"
|
7
|
+
@subject ||= subject_class.new "name"
|
8
8
|
end
|
9
9
|
|
10
10
|
test :settings do
|
11
11
|
assert subject_class.log_level == :normal
|
12
12
|
assert subject_class.log_color == :white
|
13
13
|
end
|
14
|
+
|
15
|
+
test :short do
|
16
|
+
assert_equality subject.short("m"), "m"
|
17
|
+
assert_equality subject.short("i"), "i"
|
18
|
+
assert_equality subject.short("n"), "n"
|
19
|
+
assert_equality subject.short("s"), "s"
|
20
|
+
assert_equality subject.short("w"), "w"
|
21
|
+
assert_equality subject.short("a"), "a"
|
22
|
+
assert_equality subject.short("n"), "n"
|
23
|
+
|
24
|
+
subject.short :m, :matz
|
25
|
+
subject.short :i, :is
|
26
|
+
subject.short :n, :nice
|
27
|
+
subject.short :s, :so
|
28
|
+
subject.short :w, :we
|
29
|
+
subject.short :a, :are
|
30
|
+
|
31
|
+
assert_equality subject.short("m"), "matz"
|
32
|
+
assert_equality subject.short("i"), "is"
|
33
|
+
assert_equality subject.short("n"), "nice"
|
34
|
+
assert_equality subject.short("s"), "so"
|
35
|
+
assert_equality subject.short("w"), "we"
|
36
|
+
assert_equality subject.short("a"), "are"
|
37
|
+
assert_equality subject.short("n"), "nice"
|
38
|
+
end
|
39
|
+
|
14
40
|
end
|
@@ -8,14 +8,14 @@ class Liza::ModuleTest < Liza::RubyTest
|
|
8
8
|
assert Object.source_location == []
|
9
9
|
|
10
10
|
assert Liza::Command.source_location[1] == 1
|
11
|
-
assert
|
11
|
+
assert TerminalCommand.source_location[1] == 1
|
12
12
|
end
|
13
13
|
|
14
14
|
test :source_location_radical do
|
15
15
|
assert Object.source_location_radical == nil
|
16
16
|
|
17
17
|
assert Liza::Command.source_location_radical.end_with? "/lib/dev_system/dev/controllers/command"
|
18
|
-
assert
|
18
|
+
assert TerminalCommand.source_location_radical.end_with? "/lib/dev_system/dev/controllers/command/terminal_command"
|
19
19
|
end
|
20
20
|
|
21
21
|
end
|
data/lib/liza/test/test_test.rb
CHANGED
@@ -74,7 +74,11 @@ class Liza::TestTest < Liza::Test
|
|
74
74
|
|
75
75
|
group :instance_variables do
|
76
76
|
test :instance_variables do
|
77
|
-
|
77
|
+
if Shell.jruby?
|
78
|
+
todo "jruby!"
|
79
|
+
else
|
80
|
+
assert_equality instance_variables, [:@test_words, :@before_stack, :@after_stack, :@test_block]
|
81
|
+
end
|
78
82
|
end
|
79
83
|
|
80
84
|
test :test_block do
|
@@ -40,20 +40,20 @@ class Liza::TestDslPart < Liza::Part
|
|
40
40
|
log " calling stacked before blocks #{stack.map { |bl| _log_test_block bl }}".magenta if log_test_building?
|
41
41
|
stack.each do |bl|
|
42
42
|
log_test_call "B&", &bl if log_test_call_block?
|
43
|
-
instance_exec
|
43
|
+
instance_exec(&bl)
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
47
|
bl = @test_block
|
48
48
|
log " calling test block #{_log_test_block bl}".magenta if log_test_building?
|
49
49
|
log_test_call "T&", &bl if log_test_call_block?
|
50
|
-
instance_exec
|
50
|
+
instance_exec(&bl)
|
51
51
|
|
52
52
|
@after_stack.each do |stack|
|
53
53
|
log " calling stacked after blocks #{stack.map { |bl| _log_test_block bl }}".magenta if log_test_building?
|
54
54
|
stack.each do |bl|
|
55
55
|
log_test_call "A&", &bl if log_test_call_block?
|
56
|
-
instance_exec
|
56
|
+
instance_exec(&bl)
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
@@ -17,7 +17,7 @@ class Liza::TestTreePart < Liza::Part
|
|
17
17
|
raise ArgumentError, "No block given" unless block_given?
|
18
18
|
previous = test_node
|
19
19
|
@test_node = test_node.branch_out words
|
20
|
-
instance_exec
|
20
|
+
instance_exec(&block)
|
21
21
|
@test_node = previous
|
22
22
|
end
|
23
23
|
|
@@ -28,12 +28,12 @@ class Liza::TestTreePart < Liza::Part
|
|
28
28
|
|
29
29
|
def self.before &block
|
30
30
|
raise ArgumentError, "No block given" unless block_given?
|
31
|
-
test_node.add_before
|
31
|
+
test_node.add_before(&block)
|
32
32
|
end
|
33
33
|
|
34
34
|
def self.after &block
|
35
35
|
raise ArgumentError, "No block given" unless block_given?
|
36
|
-
test_node.add_after
|
36
|
+
test_node.add_after(&block)
|
37
37
|
end
|
38
38
|
|
39
39
|
end
|
@@ -41,7 +41,7 @@ class Liza::TestTreePart < Liza::Part
|
|
41
41
|
extension do
|
42
42
|
|
43
43
|
def log *args
|
44
|
-
self.class.solder.log
|
44
|
+
self.class.solder.log(*args)
|
45
45
|
end
|
46
46
|
|
47
47
|
def log_test_building?
|
@@ -50,51 +50,6 @@ class Liza::TestTreePart < Liza::Part
|
|
50
50
|
|
51
51
|
attr_reader :tests, :parent, :children, :before_stack, :after_stack
|
52
52
|
|
53
|
-
def initialize parent, before_stack, after_stack
|
54
|
-
@parent = parent || self
|
55
|
-
|
56
|
-
@children, @tests = [], []
|
57
|
-
@before_top, @after_top = [], []
|
58
|
-
|
59
|
-
@before_stack = before_stack.push @before_top
|
60
|
-
@after_stack = after_stack.unshift @after_top
|
61
|
-
|
62
|
-
@parent.children << self if @parent != self
|
63
|
-
end
|
64
|
-
|
65
|
-
def initialize parent, before_stack, after_stack
|
66
|
-
@parent = parent || self
|
67
|
-
|
68
|
-
@children, @tests, @before_top, @after_top = [], [], [], []
|
69
|
-
|
70
|
-
@before_stack = before_stack.push @before_top
|
71
|
-
@after_stack = after_stack.unshift @after_top
|
72
|
-
|
73
|
-
@parent.children << self if @parent != self
|
74
|
-
end
|
75
|
-
|
76
|
-
def initialize parent, before_stack, after_stack
|
77
|
-
@parent = parent || self
|
78
|
-
@children, @tests = [], []
|
79
|
-
@parent.children << self if @parent != self
|
80
|
-
|
81
|
-
@before_top, @after_top = [], []
|
82
|
-
@before_stack = before_stack.push @before_top
|
83
|
-
@after_stack = after_stack.unshift @after_top
|
84
|
-
end
|
85
|
-
|
86
|
-
def initialize parent, before_stack, after_stack
|
87
|
-
@tests = []
|
88
|
-
|
89
|
-
@parent = parent || self
|
90
|
-
@children = []
|
91
|
-
@parent.children << self if @parent != self
|
92
|
-
|
93
|
-
@before_top, @after_top = [], []
|
94
|
-
@before_stack = before_stack.push @before_top
|
95
|
-
@after_stack = after_stack.unshift @after_top
|
96
|
-
end
|
97
|
-
|
98
53
|
def initialize parent, before_stack, after_stack
|
99
54
|
@tests = []
|
100
55
|
initialize_parenting parent
|