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