Files
wpscan/spec/lib/common/common_helper_spec.rb
2014-06-02 22:06:49 +02:00

171 lines
4.2 KiB
Ruby

# encoding: UTF-8
require 'spec_helper'
describe 'common_helper' do
describe '#get_equal_string' do
after :each do
output = get_equal_string_end(@input)
expect(output).to eq @expected
end
it 'returns an empty string' do
@input = %w()
@expected = ''
end
it 'returns an empty string' do
@input = []
@expected = ''
end
it 'returns an empty string' do
@input = ['asdf', nil]
@expected = ''
end
it 'returns an empty string' do
@input = [nil, 'asdf']
@expected = ''
end
it 'returns asdf' do
@input = [nil, 'a asdf', nil, 'b asdf']
@expected = ' asdf'
end
it 'returns asdf' do
@input = ['kjh asdf', 'oijr asdf']
@expected = ' asdf'
end
it 'returns « BlogName' do
@input = ['user1 « BlogName',
'user2 « BlogName',
'user3 « BlogName',
'user4 « BlogName']
@expected = ' « BlogName'
end
it 'returns an empty string' do
@input = %w{user1 user2 user3 user4}
@expected = ''
end
it 'returns an empty string' do
@input = ['user1 « BlogName',
'user2 « BlogName',
'user3 « BlogName',
'user4 « BlogNamea']
@expected = ''
end
it 'returns an empty string' do
@input = %w{ user1 }
@expected = ''
end
it 'returns | test' do
@input = ['admin | test', 'test | test']
@expected = ' | test'
end
end
describe '#remove_base64_images_from_html' do
after :each do
output = remove_base64_images_from_html(@html)
expect(output).to eq @expected
end
it 'removes the valid base64 image' do
@html = '<img alt="" src="data:image/x-png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABLElEQVR42qSTQStFURSFP7f3XygyoAwoYSYMPCIpk2egMFSmUvwCRpSRDIwYGbwyVuYykB9y914m951z7nHe6J26dc9u77XXWmdvJLF7/audqx9JYuvyW92LL0li8K2df2r17CPEVk7ftXTclyQqAMmRCwC5I3fS42a4W7y74VYDNAAuJA8AaXIsSACsDgAdAJeFrnnyoMBygKZJJ3b1It0AmsTMDPdEgrujJqHEwCxqznMaD2KgyCDRnEuo8qJhHvx/hcQDbzGoix5Yi4G1TcwZWNEDKwJU+WDkhg2ToDaD+M65YcVB8jg3Y5IY5VQAyyf9gLJw+CqAuYNnAczsPQpgevtBU937kDexcdssj8Ti0ZskMd97CRs3u//U2sjJzbtwH1+/Cf8jS/gbAMmWc42HzdIjAAAAAElFTkSuQmCC" />'
@expected = '<img alt="" src="" />'
end
it 'ignores invalid base64 content' do
@html = '<img alt="" src="data:image/x-png;base64,iVBORw0KGgo" />'
@expected = @html
end
end
describe '#truncate' do
after :each do
output = truncate(@input, @length, @trailing)
expect(output).to eq @expected
end
it 'returns nil on no input' do
@input = nil
@length = 1
@expected = nil
@trailing = '...'
end
it 'returns input when length > input' do
@input = '1234567890'
@length = 13
@expected = @input
@trailing = '...'
end
it 'truncates the input' do
@input = '1234567890'
@length = 6
@expected = '123...'
@trailing = '...'
end
it 'adds own trailing' do
@input = '1234567890'
@length = 7
@expected = '123xxxx'
@trailing = 'xxxx'
end
it 'accepts strings as length' do
@input = '1234567890'
@length = '6'
@expected = '123...'
@trailing = '...'
end
it 'checks if trailing is longer than input' do
@input = '1234567890'
@length = 1
@expected = @input
@trailing = 'A' * 20
end
it 'returns input on negative length' do
@input = '1234567890'
@length = -1
@expected = @input
@trailing = '...'
end
it 'returns input on length == input.length' do
@input = '1234567890'
@length = '10'
@expected = @input
@trailing = '...'
end
it 'returns cut string on nil trailing' do
@input = '1234567890'
@length = 9
@expected = '123456789'
@trailing = nil
end
it 'trailing.length > length' do
@input = '1234567890'
@length = 1
@expected = @input
@trailing = 'A' * 20
end
end
end