spec/formatter_spec.rb in cistern-2.0.2 vs spec/formatter_spec.rb in cistern-2.0.3
- old
+ new
@@ -1,43 +1,77 @@
require 'spec_helper'
-describe "#inspect" do
- class Inspector < Sample::Model
- identity :id
- attribute :name
+class Inspector < Sample::Model
+ identity :id
+ attribute :name
+end
+
+class Anon < Sample::Model
+ attribute :chan
+end
+
+class Inspectors < Sample::Collection
+ model Inspector
+
+ def all(options={})
+ merge_attributes(options)
+ self.load([{id: 1, name: "2"},{id: 3, name: "4"}])
end
+end
- class Inspectors < Sample::Collection
- model Inspector
+describe Cistern::Formatter::Default do
+ before { Cistern.formatter = described_class }
- def all(options={})
- merge_attributes(options)
- self.load([{id: 1, name: "2"},{id: 3, name: "4"}])
- end
+ it "formats a model" do
+ expect(
+ Inspector.new(id: 1, name: "name").inspect
+ ).to match(
+ /<Inspector:0x[a-z0-9]+> {:id=>1, :name=>\"name\"}/
+ )
+
+ Anon.inspect
end
- describe "Cistern::Model" do
- it "should use awesome_print" do
- Cistern.formatter = Cistern::Formatter::AwesomePrint
+ it "formats a collection" do
+ expect(
+ Inspectors.new.all.inspect
+ ).to match(
+ /<Inspectors:0x[a-z0-9]+> {} records/
+ )
+ end
+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
+describe Cistern::Formatter::AwesomePrint do
+ before { Cistern.formatter = described_class }
- it "should use formatador" do
- Cistern.formatter = Cistern::Formatter::Formatador
+ it "formats a model" do
+ expect(
+ Inspector.new(id: 1, name: "name").inspect
+ ).to 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
- expect(Inspector.new(id: 1, name: "name").inspect).to eq(%q{ <Inspector
+ it "formats a collection" do
+ expect(Inspectors.new.all.inspect).to match(/Inspectors\s+{.*}$/m) # close enough
+ end
+end
+
+describe Cistern::Formatter::Formatador do
+ before { Cistern.formatter = described_class }
+
+ it "formats a model" do
+ Cistern.formatter = Cistern::Formatter::Formatador
+
+ expect(Inspector.new(id: 1, name: "name").inspect).to eq(%q{ <Inspector
id=1,
name="name"
>})
- end
end
- describe "Cistern::Collection" do
- it "should use formatador" do
- Cistern.formatter = Cistern::Formatter::Formatador
- expect(Inspectors.new.all.inspect).to eq(%q{ <Inspectors
+ it "formats a collection" do
+ expect(Inspectors.new.all.inspect).to eq(%q{ <Inspectors
[
<Inspector
id=1,
name="2"
>,
@@ -45,13 +79,7 @@
id=3,
name="4"
>
]
>})
- end
-
- it "should use awesome_print" do
- Cistern.formatter = Cistern::Formatter::AwesomePrint
- expect(Inspectors.new.all.inspect).to match(/Inspectors\s+{.*}$/m) # close enough
- end
end
end