spec/csl/style_spec.rb in csl-1.0.0.pre2 vs spec/csl/style_spec.rb in csl-1.0.0.pre3
- old
+ new
@@ -1,9 +1,10 @@
require 'spec_helper'
module CSL
describe Style do
+ let(:style) { Style.new }
it 'has a 1.x version by default' do
Style.new[:version].should match(/1\.\d+(\.\d+)?/)
end
@@ -14,8 +15,42 @@
it 'supports round-trip for apa style' do
Style.parse(Style.load(:apa).to_xml).should be_a(Style)
end
end
-
+
+ describe '#children' do
+
+ it { should_not have_info }
+ it { should_not have_locale }
+ it { should_not have_macro }
+ it { should_not have_citation }
+ it { should_not have_bibliography }
+
+ describe 'when it has a title' do
+ before(:all) { style.title = 'foo' }
+
+ it { style.should have_info }
+
+ it 'info.title is a text node' do
+ style.info.title.should be_a(TextNode)
+ end
+
+ it '#title returns the title as a string' do
+ style.title.should be_a(String)
+ end
+ end
+ end
+
+ describe '#id accessor' do
+
+ it 'returns nil by default' do
+ Style.new.id.should be_nil
+ end
+
+ it 'writer sets the id to the passed-in string' do
+ expect { style.id = 'foobar' }.to change { style.id }.from(nil).to('foobar')
+ end
+ end
+
end
end