spec/cistern_spec.rb in cistern-0.1.4 vs spec/cistern_spec.rb in cistern-0.2.0

- old
+ new

@@ -1,34 +1,64 @@ require 'spec_helper' -describe "inspection engine" do +describe "#inspect" do class Inspector < Cistern::Model identity :id attribute :name end + class Inspectors < Cistern::Collection + model Inspector - after(:all) do - Cistern.formatter= Cistern::Formatter::Default + def all + self.load([{id: 1, name: "2"},{id: 3, name: "4"}]) + end end - it "should default to default formatter" do - Cistern.formatter.should == Cistern::Formatter::Default + before(:all) do + Cistern.formatter = Cistern::Formatter::Default end - it "should use default" do - Inspector.new(id: 1, name: "name").inspect.should match /#<Inspector:0x[0-9a-f]+ attributes={id:1,name:\"name\"}/ - end + describe "Cistern::Model" do + it "should use default" do + Cistern.formatter = Cistern::Formatter::Default - it "should use awesome_print" do - defined?(AwesomePrint).should be_false # don't require if not used - Cistern.formatter= Cistern::Formatter::AwesomePrint + Inspector.new(id: 1, name: "name").inspect.should match /#<Inspector:0x[0-9a-f]+ attributes={id:1,name:\"name\"}/ + end - Inspector.new(id: 1, name: "name").inspect.match /(?x-mi:\#<Inspector:0x[0-9a-f]+>\ {\n\ \ \ \ \ \ :id\x1B\[0;37m\ =>\ \x1B\[0m\x1B\[1;34m1\x1B\[0m,\n\ \ \ \ :name\x1B\[0;37m\ =>\ \x1B\[0m\x1B\[0;33m"name"\x1B\[0m\n})/ - end + it "should use awesome_print" do + Cistern.formatter = Cistern::Formatter::AwesomePrint - it "should use formatador" do - defined?(Formatador).should be_false # don't require if not used - Cistern.formatter= Cistern::Formatter::Formatador + Inspector.new(id: 1, name: "name").inspect.match /(?x-mi:\#<Inspector:0x[0-9a-f]+>\ {\n\ \ \ \ \ \ :id\x1B\[0;37m\ =>\ \x1B\[0m\x1B\[1;34m1\x1B\[0m,\n\ \ \ \ :name\x1B\[0;37m\ =>\ \x1B\[0m\x1B\[0;33m"name"\x1B\[0m\n})/ + end - Inspector.new(id: 1, name: "name").inspect.should == " <Inspector\n id=1,\n name=\"name\"\n >" + it "should use formatador" do + Cistern.formatter = Cistern::Formatter::Formatador + + Inspector.new(id: 1, name: "name").inspect.should == %q{ <Inspector + id=1, + name="name" + >} + end + end + + describe "Cistern::Collection" do + it "should use default" do + Inspectors.new.all.inspect.should == %q{ <Inspectors + [ + <Inspector + id=1, + name="2" + >, + <Inspector + id=3, + name="4" + > + ] + >} + end + it "should use awesome_print" do + Cistern.formatter = Cistern::Formatter::AwesomePrint + Inspectors.new.all.inspect.should match(/^\[.*\]$/m) # close enough + end + it "should use formatador" end end