describe String do it "should convert to underscore replacing spaces with underscores" do expect("CamelCase UPPERCASE to be_Converted".proper_underscore).to eq( "camel_case_uppercase_to_be_converted" ) end it 'should separate numbers and letters' do expect('abc123'.separate_numbers_and_letters).to eq 'abc 123' expect('123Abc'.separate_numbers_and_letters).to eq '123 Abc' # The following should also work but doesn't # '1A2b3c'.separate_numbers_and_letters.should == '1 A 2 b 3 c' end it "should convert new lines to
tags" do expect("Line 1\nLine2\nLine3".nl2br).to eq "Line 1
Line2
Line3" end it 'should squash' do text = 'Adelaide University' expect(text.squash(30)).to eq 'Adelaide University' expect(text.squash(10)).to eq 'Adela Univ' expect(text.squash(7)).to eq 'Ade Uni' expect(text.squash(6)).to eq 'Ade Un' expect(text.squash(5)).to eq 'Ad Un' expect(text.squash(4)).to eq 'Ad U' expect(text.squash(3)).to eq 'AU' expect(text.squash(2)).to eq 'AU' expect(text.squash(1)).to eq 'A' text = 'University South Australia' expect(text.squash(30)).to eq 'University South Australia' expect(text.squash(10)).to eq 'Uni Sou Au' expect(text.squash(9)).to eq 'Uni So Au' expect(text.squash(8)).to eq 'Un So Au' expect(text.squash(7)).to eq 'Un So A' expect(text.squash(6)).to eq 'Un S A' expect(text.squash(5)).to eq 'USA' expect(text.squash(4)).to eq 'USA' expect(text.squash(3)).to eq 'USA' expect(text.squash(2)).to eq 'US' expect(text.squash(1)).to eq 'U' end it 'should convert to bool' do expect('t'.to_bool).to eq true expect('true'.to_bool).to eq true expect('y'.to_bool).to eq true expect('yes'.to_bool).to eq true expect('1'.to_bool).to eq true expect('f'.to_bool).to eq false expect('false'.to_bool).to eq false expect('n'.to_bool).to eq false expect('no'.to_bool).to eq false expect('0'.to_bool).to eq false expect(''.to_bool).to eq false expect { 'a'.to_bool }.to raise_error(ArgumentError) end end