Ruby generator support for Ranges
This commit is contained in:
parent
ec19875530
commit
32dba554d7
|
@ -208,6 +208,21 @@ end
|
||||||
EOF
|
EOF
|
||||||
end
|
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.
|
# Processes a string node.
|
||||||
#
|
#
|
||||||
|
|
|
@ -185,6 +185,16 @@ end
|
||||||
end
|
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
|
describe '#on_string' do
|
||||||
it 'returns a String' do
|
it 'returns a String' do
|
||||||
node = Oga::Ruby::Node.new(:string, %w{foo})
|
node = Oga::Ruby::Node.new(:string, %w{foo})
|
||||||
|
|
Loading…
Reference in New Issue