Sha256: 0565a19d60464aac21ff5e7d3a460dd75b6db37bc0eef31b20c041eebdc36538

Contents?: true

Size: 932 Bytes

Versions: 4

Compression:

Stored size: 932 Bytes

Contents

require 'spec_helper'

module Rack
  describe Webconsole::Sandbox do

    describe "#method_missing" do
      describe 'when the method exists in @locals' do
        it 'retrieves it' do
          @sandbox = Webconsole::Sandbox.new
          @sandbox.instance_variable_set(:@locals, {:a => 123})

          @sandbox.a.must_equal 123
        end
      end
      describe 'otherwise' do
        it 'raises a NoMethodError' do
          @sandbox = Webconsole::Sandbox.new

          lambda {
            @sandbox.a
          }.must_raise NoMethodError
        end
      end
    end

    describe "#reload!" do
      it 'assigns a new, fresh Sandbox to the global variable' do
        old_sandbox = $sandbox = Webconsole::Sandbox.new

        $sandbox.reload!

        $sandbox.wont_equal old_sandbox
      end
      it 'returns a feedback string' do
        Webconsole::Sandbox.new.reload!.must_equal 'ok'
      end
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rack-webconsole-0.0.5 spec/rack/webconsole/sandbox_spec.rb
rack-webconsole-0.0.4 spec/rack/webconsole/sandbox_spec.rb
rack-webconsole-0.0.3 spec/rack/webconsole/sandbox_spec.rb
rack-webconsole-0.0.1 spec/rack/webconsole/sandbox_spec.rb