Sha256: bf659e0bf0124c7d30675c59fd6153e200af51f99b2638ea2c56e4fdd9ac23ee
Contents?: true
Size: 1.38 KB
Versions: 8
Compression:
Stored size: 1.38 KB
Contents
# frozen_string_literal: true require 'spec_helper' module Synvert::Core describe Rewriter::AppendAction do describe 'class node' do subject do source = "class User\n has_many :posts\nend" class_node = Parser::CurrentRuby.parse(source) instance = double(current_node: class_node) Rewriter::AppendAction.new(instance, "def as_json\n super\nend").process end it 'gets begin_pos' do expect(subject.begin_pos).to eq "class User\n has_many :posts".length end it 'gets end_pos' do expect(subject.end_pos).to eq "class User\n has_many :posts".length end it 'gets rewritten_code' do expect(subject.rewritten_code).to eq "\n\n def as_json\n super\n end" end end describe 'begin node' do subject do source = "gem 'rails'\ngem 'mysql2'" begin_node = Parser::CurrentRuby.parse(source) instance = double(current_node: begin_node) Rewriter::AppendAction.new(instance, "gem 'twitter'").process end it 'gets begin_pos' do expect(subject.begin_pos).to eq "gem 'rails'\ngem 'mysql2'".length end it 'gets end_pos' do expect(subject.end_pos).to eq "gem 'rails'\ngem 'mysql2'".length end it 'gets rewritten_code' do expect(subject.rewritten_code).to eq "\ngem 'twitter'" end end end end
Version data entries
8 entries across 8 versions & 1 rubygems