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