spec/synvert/node_ext_spec.rb in synvert-0.0.12 vs spec/synvert/node_ext_spec.rb in synvert-0.0.13

- old
+ new

@@ -81,9 +81,37 @@ node = parse('foo; bar') expect(node.body).to eq [parse('foo'), parse('bar')] end end + describe "#keys" do + it 'gets for hash node' do + node = parse("{:foo => :bar, 'foo' => 'bar'}") + expect(node.keys).to eq [Parser::CurrentRuby.parse(':foo'), Parser::CurrentRuby.parse("'foo'")] + end + end + + describe "#values" do + it 'gets for hash node' do + node = parse("{:foo => :bar, 'foo' => 'bar'}") + expect(node.values).to eq [Parser::CurrentRuby.parse(':bar'), Parser::CurrentRuby.parse("'bar'")] + end + end + + describe "#key" do + it 'gets for pair node' do + node = parse("{:foo => 'bar'}").children[0] + expect(node.key).to eq Parser::CurrentRuby.parse(':foo') + end + end + + describe "#value" do + it 'gets for hash node' do + node = parse("{:foo => 'bar'}").children[0] + expect(node.value).to eq Parser::CurrentRuby.parse("'bar'") + end + end + describe "#condition" do it 'gets for if node' do node = parse('if defined?(Bundler); end') expect(node.condition).to eq parse('defined?(Bundler)') end