require File.expand_path('../spec_helper', __FILE__) describe CLIntegracon::Subject do def subject CLIntegracon::Subject end before do @subject = subject.new('cat') end describe '#launch' do it 'should redact paths from output' do output = <<-eos.strip_heredoc /Users/marius/.im/chat.log /tmp/im/chat.log eos @subject.expects(:`).returns(output) @subject.stubs(:write_output) @subject.replace_user_path '.im/chat.log' @subject.replace_path '/tmp', '$TMP' @subject.launch.should.be == <<-eos.strip_heredoc $HOME/.im/chat.log $TMP/im/chat.log eos end it 'should redact patterns from output' do output = <<-eos.strip_heredoc Fri Nov 14 22:46:37 - @samuel > ¡Hola! Fri Nov 14 22:46:54 - @olivier > Hi Fri Nov 14 22:47:13 - @marius > hey eos @subject.expects(:`).returns(output) @subject.stubs(:write_output) @subject.replace_pattern /\w{3} \w{3} \d{2} \d{2}:\d{2}:\d{2}/, '<#DATE#>' @subject.replace_pattern /@\w+/, '<REDACTED>' @subject.launch.should.be == <<-eos.strip_heredoc <#DATE#> - <REDACTED> > ¡Hola! <#DATE#> - <REDACTED> > Hi <#DATE#> - <REDACTED> > hey eos end end end