Ruby generator support for Ranges
This commit is contained in:
parent
ec19875530
commit
32dba554d7
|
@ -208,6 +208,21 @@ end
|
|||
EOF
|
||||
end
|
||||
|
||||
##
|
||||
# Processes a Range node.
|
||||
#
|
||||
# @param [Oga::Ruby::Node] ast
|
||||
# @return [String]
|
||||
#
|
||||
def on_range(ast)
|
||||
start, stop = *ast
|
||||
|
||||
start_str = process(start)
|
||||
stop_str = process(stop)
|
||||
|
||||
"(#{start_str}..#{stop_str})"
|
||||
end
|
||||
|
||||
##
|
||||
# Processes a string node.
|
||||
#
|
||||
|
|
|
@ -185,6 +185,16 @@ end
|
|||
end
|
||||
end
|
||||
|
||||
describe '#on_range' do
|
||||
it 'returns a String' do
|
||||
start = Oga::Ruby::Node.new(:lit, %w{10})
|
||||
stop = Oga::Ruby::Node.new(:lit, %w{20})
|
||||
node = Oga::Ruby::Node.new(:range, [start, stop])
|
||||
|
||||
@generator.on_range(node).should == '(10..20)'
|
||||
end
|
||||
end
|
||||
|
||||
describe '#on_string' do
|
||||
it 'returns a String' do
|
||||
node = Oga::Ruby::Node.new(:string, %w{foo})
|
||||
|
|
Loading…
Reference in New Issue