spec/gon/gon_spec.rb in gon-1.0.0 vs spec/gon/gon_spec.rb in gon-1.1.0
- old
+ new
@@ -1,35 +1,41 @@
# gon_spec_rb
require 'gon'
describe Gon, '#all_variables' do
+ before(:each) do
+ Gon.stub(:request).and_return(request)
+ end
+
it 'returns all variables in hash' do
Gon.a = 1
Gon.b = 2
Gon.c = Gon.a + Gon.b
Gon.c.should == 3
- Gon.all_variables.should == {:a => 1, :b => 2, :c => 3}
+ Gon.all_variables.should == {'a' => 1, 'b' => 2, 'c' => 3}
end
it 'supports all data types' do
Gon.clear
Gon.int = 1
Gon.float = 1.1
Gon.string = 'string'
Gon.array = [ 1, 'string' ]
Gon.hash = { :a => 1, :b => '2'}
Gon.hash_w_array = { :a => [ 2, 3 ] }
- Gon.klass = OpenStruct.new
-
+ Gon.klass = Hash
+ end
+
+ it 'output as js correct' do
+ Gon.clear
+ Gon.int = 1
ActionView::Base.instance_methods.include?('include_gon').should == true
base = ActionView::Base.new
base.include_gon.should == "<script>window.Gon = {};" +
- "Gon.klass={\"table\":{}};" +
- "Gon.string=\"string\";" +
- "Gon.array=[1,\"string\"];" +
- "Gon.float=1.1;" +
"Gon.int=1;" +
- "Gon.hash={\"a\":1,\"b\":\"2\"};" +
- "Gon.hash_w_array={\"a\":[2,3]};" +
"</script>"
+ end
+
+ def request
+ @request ||= double 'request', :env => {}
end
end
\ No newline at end of file