spec/gon/global_spec.rb in gon-5.0.1 vs spec/gon/global_spec.rb in gon-5.0.2
- old
+ new
@@ -11,12 +11,12 @@
it 'returns all variables in hash' do
Gon.global.a = 1
Gon.global.b = 2
Gon.global.c = Gon.global.a + Gon.global.b
- Gon.global.c.should == 3
- Gon.global.all_variables.should == { 'a' => 1, 'b' => 2, 'c' => 3 }
+ expect(Gon.global.c).to eq(3)
+ expect(Gon.global.all_variables).to eq({ 'a' => 1, 'b' => 2, 'c' => 3 })
end
it 'supports all data types' do
Gon.global.clear
Gon.global.int = 1
@@ -33,76 +33,76 @@
describe '#include_gon' do
before(:each) do
Gon.clear
Gon.global.clear
- ActionView::Base.
+ expect(ActionView::Base.
instance_methods.
map(&:to_s).
- include?('include_gon').should == true
+ include?('include_gon')).to eq(true)
@base = ActionView::Base.new
@base.request = request
end
it 'outputs correct js with an integer' do
Gon.global.int = 1
- @base.include_gon.should == "<script type=\"text/javascript\">" +
+ expect(@base.include_gon).to eq("<script type=\"text/javascript\">" +
"\n//<![CDATA[\n" +
"window.gon={};" +
"gon.global={\"int\":1};" +
"\n//]]>\n" +
- "</script>"
+ "</script>")
end
it 'outputs correct js with an integer and integer in Gon' do
Gon.int = 1
Gon.global.int = 1
- @base.include_gon.should == "<script type=\"text/javascript\">" +
+ expect(@base.include_gon).to eq("<script type=\"text/javascript\">" +
"\n//<![CDATA[\n" +
"window.gon={};" +
"gon.int=1;" +
"gon.global={\"int\":1};" +
"\n//]]>\n" +
- "</script>"
+ "</script>")
end
it 'outputs correct js with a string' do
Gon.global.str = %q(a'b"c)
- @base.include_gon.should == "<script type=\"text/javascript\">" +
+ expect(@base.include_gon).to eq("<script type=\"text/javascript\">" +
"\n//<![CDATA[\n" +
"window.gon={};" +
"gon.global={\"str\":\"a'b\\\"c\"};" +
"\n//]]>\n" +
- "</script>"
+ "</script>")
end
it 'outputs correct js with a script string' do
Gon.global.str = %q(</script><script>alert('!')</script>)
- @base.include_gon.should == "<script type=\"text/javascript\">" +
+ expect(@base.include_gon).to eq("<script type=\"text/javascript\">" +
"\n//<![CDATA[\n" +
"window.gon={};" +
"gon.global={\"str\":\"\\u003C/script><script>alert('!')\\u003C/script>\"};" +
"\n//]]>\n" +
- "</script>"
+ "</script>")
end
it 'outputs correct js with a unicode line separator' do
Gon.global.str = "\u2028"
- @base.include_gon.should == "<script type=\"text/javascript\">" +
+ expect(@base.include_gon).to eq("<script type=\"text/javascript\">" +
"\n//<![CDATA[\n" +
"window.gon={};" +
"gon.global={\"str\":\"
\"};" +
"\n//]]>\n" +
- "</script>"
+ "</script>")
end
end
it 'returns exception if try to set public method as variable' do
Gon.global.clear
- lambda { Gon.global.all_variables = 123 }.should raise_error
- lambda { Gon.global.rabl = 123 }.should raise_error
+ expect { Gon.global.all_variables = 123 }.to raise_error
+ expect { Gon.global.rabl = 123 }.to raise_error
end
context 'with jbuilder and rabl' do
before :each do
@@ -113,20 +113,20 @@
let(:controller) { ActionController::Base.new }
let(:objects) { [1, 2] }
it 'works fine with rabl' do
Gon.global.rabl :template => 'spec/test_data/sample.rabl', :controller => controller
- Gon.global.objects.length.should == 2
+ expect(Gon.global.objects.length).to eq(2)
end
it 'works fine with jbuilder' do
Gon.global.jbuilder :template => 'spec/test_data/sample.json.jbuilder', :controller => controller
- Gon.global.objects.length.should == 2
+ expect(Gon.global.objects.length).to eq(2)
end
it 'should throw exception, if use rabl or jbuilder without :template' do
- lambda { Gon.global.rabl }.should raise_error
- lambda { Gon.global.jbuilder }.should raise_error
+ expect { Gon.global.rabl }.to raise_error
+ expect { Gon.global.jbuilder }.to raise_error
end
end
after(:all) do