Revision: 4414 http://trac.macosforge.org/projects/ruby/changeset/4414 Author: pthomson@apple.com Date: 2010-08-06 13:57:20 -0700 (Fri, 06 Aug 2010) Log Message: ----------- Even more tests. Modified Paths: -------------- MacRuby/trunk/spec/macruby/core/sandbox/no_writes_spec.rb MacRuby/trunk/spec/macruby/core/sandbox/pure_computation_spec.rb MacRuby/trunk/spec/macruby/core/sandbox/shared/no_network.rb MacRuby/trunk/spec/macruby/core/sandbox/shared/no_write.rb MacRuby/trunk/spec/macruby/core/sandbox/spec_helper.rb Added Paths: ----------- MacRuby/trunk/spec/macruby/core/sandbox/no_internet_spec.rb MacRuby/trunk/spec/macruby/core/sandbox/no_network_spec.rb MacRuby/trunk/spec/macruby/core/sandbox/temporary_writes_spec.rb Added: MacRuby/trunk/spec/macruby/core/sandbox/no_internet_spec.rb =================================================================== --- MacRuby/trunk/spec/macruby/core/sandbox/no_internet_spec.rb (rev 0) +++ MacRuby/trunk/spec/macruby/core/sandbox/no_internet_spec.rb 2010-08-06 20:57:20 UTC (rev 4414) @@ -0,0 +1,16 @@ +require File.expand_path(File.dirname(__FILE__) + '/spec_helper') + +describe Sandbox, ".no_network" do + + before do + add_line "framework 'Cocoa'" + add_line "Sandbox.no_network.apply!" + end + + it_behaves_like :sandbox_no_network, :no_network + + after do + ScratchPad.clear + end + +end \ No newline at end of file Added: MacRuby/trunk/spec/macruby/core/sandbox/no_network_spec.rb =================================================================== --- MacRuby/trunk/spec/macruby/core/sandbox/no_network_spec.rb (rev 0) +++ MacRuby/trunk/spec/macruby/core/sandbox/no_network_spec.rb 2010-08-06 20:57:20 UTC (rev 4414) @@ -0,0 +1,16 @@ +require File.expand_path(File.dirname(__FILE__) + '/spec_helper') + +describe Sandbox, ".no_network" do + + before do + add_line "framework 'Cocoa'" + add_line "Sandbox.no_network.apply!" + end + + it_behaves_like :sandbox_no_network, :no_network + + after do + ScratchPad.clear + end + +end \ No newline at end of file Modified: MacRuby/trunk/spec/macruby/core/sandbox/no_writes_spec.rb =================================================================== --- MacRuby/trunk/spec/macruby/core/sandbox/no_writes_spec.rb 2010-08-06 20:57:18 UTC (rev 4413) +++ MacRuby/trunk/spec/macruby/core/sandbox/no_writes_spec.rb 2010-08-06 20:57:20 UTC (rev 4414) @@ -1,6 +1,6 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper') -describe "Sandbox.no_writes" do +describe Sandbox, ".no_writes" do before do add_line "framework 'Cocoa'" Modified: MacRuby/trunk/spec/macruby/core/sandbox/pure_computation_spec.rb =================================================================== --- MacRuby/trunk/spec/macruby/core/sandbox/pure_computation_spec.rb 2010-08-06 20:57:18 UTC (rev 4413) +++ MacRuby/trunk/spec/macruby/core/sandbox/pure_computation_spec.rb 2010-08-06 20:57:20 UTC (rev 4414) @@ -1,6 +1,6 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper') -describe Sandbox, "pure_computation" do +describe Sandbox, ".pure_computation" do it_behaves_like :sandbox_no_write, :no_write it_behaves_like :sandbox_no_network, :no_network Modified: MacRuby/trunk/spec/macruby/core/sandbox/shared/no_network.rb =================================================================== --- MacRuby/trunk/spec/macruby/core/sandbox/shared/no_network.rb 2010-08-06 20:57:18 UTC (rev 4413) +++ MacRuby/trunk/spec/macruby/core/sandbox/shared/no_network.rb 2010-08-06 20:57:20 UTC (rev 4414) @@ -1,12 +1,5 @@ describe :sandbox_no_network, :shared => true do - it "disallows looking up the address of the current NSHost" do - unless NSHost.currentHost.address.empty? - add_line "print NSHost.currentHost.address" - result.should be_empty - end - end - it "disallows DNS requests through NSHost" do add_line 'print NSHost.hostWithName("apple.com").address' result.should be_empty @@ -17,10 +10,4 @@ add_line 'print NSString.stringWithContentsOfURL(url)' result.should be_empty end - - it "disallows NSURLConnection.connectionWithRequest:delegate:" do - add_line 'req = NSURLRequest.requestWithURL(NSURL.URLWithString("http://apple.com"))' - add_line 'print NSURLConnection.connectionWithRequest(req, delegate:nil)' - result.should be_empty - end end Modified: MacRuby/trunk/spec/macruby/core/sandbox/shared/no_write.rb =================================================================== --- MacRuby/trunk/spec/macruby/core/sandbox/shared/no_write.rb 2010-08-06 20:57:18 UTC (rev 4413) +++ MacRuby/trunk/spec/macruby/core/sandbox/shared/no_write.rb 2010-08-06 20:57:20 UTC (rev 4414) @@ -7,4 +7,11 @@ end end + it "throws an error when trying to write to a Ruby IO object" do + with_temporary_file do |fn| + add_line "open('#{fn}', 'w').puts 'This must fail'" + result.should_not be_empty + end + end + end Modified: MacRuby/trunk/spec/macruby/core/sandbox/spec_helper.rb =================================================================== --- MacRuby/trunk/spec/macruby/core/sandbox/spec_helper.rb 2010-08-06 20:57:18 UTC (rev 4413) +++ MacRuby/trunk/spec/macruby/core/sandbox/spec_helper.rb 2010-08-06 20:57:20 UTC (rev 4414) @@ -11,10 +11,8 @@ end def with_temporary_file(temp = tmp('sandbox', false)) - p "Creating #{temp}" FileUtils.touch temp yield temp FileUtils.rm temp - p "Deleting #{temp}" end \ No newline at end of file Copied: MacRuby/trunk/spec/macruby/core/sandbox/temporary_writes_spec.rb (from rev 4413, MacRuby/trunk/spec/macruby/core/sandbox/no_writes_spec.rb) =================================================================== --- MacRuby/trunk/spec/macruby/core/sandbox/temporary_writes_spec.rb (rev 0) +++ MacRuby/trunk/spec/macruby/core/sandbox/temporary_writes_spec.rb 2010-08-06 20:57:20 UTC (rev 4414) @@ -0,0 +1,24 @@ +require File.expand_path(File.dirname(__FILE__) + '/spec_helper') + +describe Sandbox, ".temporary_writes" do + + before do + add_line "framework 'Cocoa'" + add_line "Sandbox.temporary_writes.apply!" + end + + it_behaves_like :sandbox_no_write, :no_write + + it "should allow writing to a file in /tmp" do + with_temporary_file("/tmp/sandboxed") do + add_line "open('/tmp/sandboxed', 'w').puts 'This must succeed'" + add_line "print 'Success'" + result.should == "Success" + end + end + + after do + ScratchPad.clear + end + +end \ No newline at end of file
participants (1)
-
source_changes@macosforge.org