@ -7,7 +7,7 @@ describe Squib::Args::Paragraph do
context 'str validator' do
context 'str validator' do
it 'converts everything to string' do
it 'converts everything to string' do
para . load! ( { str : 5 } )
para . load! ( { str : 5 } )
expect ( para . str ) . to eq [ '5' ]
expect ( para . str ) . to eq [ '5' ]
end
end
end
end
@ -25,7 +25,7 @@ describe Squib::Args::Paragraph do
end
end
it 'uses specified font when given' do
it 'uses specified font when given' do
para . load! ( { font : 'MyFont 8' } )
para . load! ( { font : 'MyFont 8' } )
expect ( para . font ) . to eq [ 'MyFont 8' ]
expect ( para . font ) . to eq [ 'MyFont 8' ]
end
end
end
end
@ -53,100 +53,100 @@ describe Squib::Args::Paragraph do
context 'wrap validator' do
context 'wrap validator' do
it 'converts to pango wrap word' do
it 'converts to pango wrap word' do
para . load! ( { wrap : 'word' } )
para . load! ( { wrap : 'word' } )
expect ( para . wrap ) . to eq [ Pango :: WRAP_WORD ]
expect ( para . wrap ) . to eq [ Pango :: WRAP_WORD ]
end
end
it 'converts to pango wrap char' do
it 'converts to pango wrap char' do
para . load! ( { wrap : 'WORD_ChAr' } )
para . load! ( { wrap : 'WORD_ChAr' } )
expect ( para . wrap ) . to eq [ Pango :: WRAP_WORD_CHAR ]
expect ( para . wrap ) . to eq [ Pango :: WRAP_WORD_CHAR ]
end
end
it 'converts to pango wrap char on true' do
it 'converts to pango wrap char on true' do
para . load! ( { wrap : true } )
para . load! ( { wrap : true } )
expect ( para . wrap ) . to eq [ Pango :: WRAP_WORD_CHAR ]
expect ( para . wrap ) . to eq [ Pango :: WRAP_WORD_CHAR ]
end
end
it 'converts to pango wrap char with false' do
it 'converts to pango wrap char with false' do
para . load! ( { wrap : false } )
para . load! ( { wrap : false } )
expect ( para . wrap ) . to eq [ Pango :: WRAP_CHAR ]
expect ( para . wrap ) . to eq [ Pango :: WRAP_CHAR ]
end
end
it 'raises an exception on anything else' do
it 'raises an exception on anything else' do
expect { para . load! ( { wrap : 'foo' } ) } . to raise_error ( ArgumentError , 'wrap must be one of: word, char, word_char, true, or false' )
expect { para . load! ( { wrap : 'foo' } ) } . to raise_error ( ArgumentError , 'wrap must be one of: word, char, word_char, true, or false' )
end
end
end
end
context 'ellipsize validator' do
context 'ellipsize validator' do
it 'converts to pango on none and false' do
it 'converts to pango on none and false' do
para . load! ( { ellipsize : 'none' } )
para . load! ( { ellipsize : 'none' } )
expect ( para . ellipsize ) . to eq [ Pango :: Layout :: ELLIPSIZE_NONE ]
expect ( para . ellipsize ) . to eq [ Pango :: Layout :: ELLIPSIZE_NONE ]
end
end
it 'converts to pango with start' do
it 'converts to pango with start' do
para . load! ( { ellipsize : :StArt } )
para . load! ( { ellipsize : :StArt } )
expect ( para . ellipsize ) . to eq [ Pango :: Layout :: ELLIPSIZE_START ]
expect ( para . ellipsize ) . to eq [ Pango :: Layout :: ELLIPSIZE_START ]
end
end
it 'converts to pango middle' do
it 'converts to pango middle' do
para . load! ( { ellipsize : 'middle' } )
para . load! ( { ellipsize : 'middle' } )
expect ( para . ellipsize ) . to eq [ Pango :: Layout :: ELLIPSIZE_MIDDLE ]
expect ( para . ellipsize ) . to eq [ Pango :: Layout :: ELLIPSIZE_MIDDLE ]
end
end
it 'converts to pango end' do
it 'converts to pango end' do
para . load! ( { ellipsize : 'END' } )
para . load! ( { ellipsize : 'END' } )
expect ( para . ellipsize ) . to eq [ Pango :: Layout :: ELLIPSIZE_END ]
expect ( para . ellipsize ) . to eq [ Pango :: Layout :: ELLIPSIZE_END ]
end
end
it 'raises an exception on anything else' do
it 'raises an exception on anything else' do
expect { para . load! ( { ellipsize : 'foo' } ) } . to raise_error ( ArgumentError , 'ellipsize must be one of: none, start, middle, end, true, or false' )
expect { para . load! ( { ellipsize : 'foo' } ) } . to raise_error ( ArgumentError , 'ellipsize must be one of: none, start, middle, end, true, or false' )
end
end
end
end
context 'justify validator' do
context 'justify validator' do
it 'allows nil' do
it 'allows nil' do
para . load! ( { justify : nil } )
para . load! ( { justify : nil } )
expect ( para . justify ) . to eq [ nil ]
expect ( para . justify ) . to eq [ nil ]
end
end
it 'can be true' do
it 'can be true' do
para . load! ( { justify : true } )
para . load! ( { justify : true } )
expect ( para . justify ) . to eq [ true ]
expect ( para . justify ) . to eq [ true ]
end
end
it 'can be false' do
it 'can be false' do
para . load! ( { justify : false } )
para . load! ( { justify : false } )
expect ( para . justify ) . to eq [ false ]
expect ( para . justify ) . to eq [ false ]
end
end
it 'raises an exception on anything else' do
it 'raises an exception on anything else' do
expect { para . load! ( { justify : 'false' } ) } . to raise_error ( ArgumentError , 'justify must be one of: nil, true, or false' )
expect { para . load! ( { justify : 'false' } ) } . to raise_error ( ArgumentError , 'justify must be one of: nil, true, or false' )
end
end
end
end
context 'spacing validator' do
context 'spacing validator' do
it 'allows nil' do
it 'allows nil' do
para . load! ( { spacing : nil } )
para . load! ( { spacing : nil } )
expect ( para . spacing ) . to eq [ nil ]
expect ( para . spacing ) . to eq [ nil ]
end
end
it 'is converted to Pango space' do
it 'is converted to Pango space' do
para . load! ( { spacing : 519 } )
para . load! ( { spacing : 519 } )
expect ( para . spacing ) . to eq [ Pango :: SCALE * 519 . 0 ]
expect ( para . spacing ) . to eq [ Pango :: SCALE * 519 . 0 ]
end
end
it 'raises an exception if not a float' do
it 'raises an exception if not a float' do
expect { para . load! ( { spacing : / foo / } ) } . to raise_error ( ArgumentError , 'spacing must be a number or nil' )
expect { para . load! ( { spacing : / foo / } ) } . to raise_error ( ArgumentError , 'spacing must be a number or nil' )
end
end
end
end
context 'valign validator' do
context 'valign validator' do
it 'converts top' do
it 'converts top' do
para . load! ( { valign : :top } )
para . load! ( { valign : :top } )
expect ( para . valign ) . to eq [ 'top' ]
expect ( para . valign ) . to eq [ 'top' ]
end
end
it 'raises an exception if not one of the three' do
it 'raises an exception if not one of the three' do
expect { para . load! ( { valign : 'foo' } ) } . to raise_error ( ArgumentError , 'valign must be one of: top, middle, bottom' )
expect { para . load! ( { valign : 'foo' } ) } . to raise_error ( ArgumentError , 'valign must be one of: top, middle, bottom' )
end
end
end
end