require_relative 'spec_helper' describe XcodeProject::PBXBuildFile do let(:root) { prepare_example_project.read.send(:root) } let(:obj_file_ref) { root.project.main_group.file_ref('group1a/file2c.m') } let(:obj) { root.project.target('example').sources_build_phase.send(:build_file, obj_file_ref.uuid) } describe '#file_ref' do it 'returns the object' do expect(obj.file_ref).to be_a(XcodeProject::PBXFileReference) end end describe '#remove!' do it 'removes the current build file' do obj.remove! expect(root.project.target('example').sources_build_phase.send(:build_file, obj_file_ref.uuid)).to be_nil end it 'removes the current build file from all targets' do root.project.targets.each do |target| expect(target.sources.map(&:uuid)).not_to include(obj.uuid) end end end end