Sha256: 279484c975a0a1a0bfa90561145fb92205d068f50bd965edebf7d4c15568f14f

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

require 'spec_helper'

module RubyHackernews
  describe MechanizeContext do

    before :each do
      MechanizeContext.send(:class_variable_set, :@@contexts, nil)
      MechanizeContext.send(:class_variable_set, :@@default, nil)
    end

    describe "agent=" do

      it "should set @@default as passed key" do
        MechanizeContext.agent = :test_agent
        MechanizeContext.send(:class_variable_get, :@@default).should == :test_agent
      end

    end

    describe "agent" do

      it "should return the @@default agent" do
        MechanizeContext.send(:class_variable_set, :@@default, :test_value)
        MechanizeContext.send(:class_variable_set, :@@contexts, {:test_value => :target})
        klass = Class.new
        klass.instance_eval do
          include MechanizeContext
        end
        klass.new.agent.should == :target
      end

    end

    describe "[]" do

      it "should return the [key] agent" do
        MechanizeContext.send(:class_variable_set, :@@contexts, {:test_value => :target})
        klass = Class.new
        klass.instance_eval do
          include MechanizeContext
        end
        klass.new[:test_value].should == :target
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-hackernews-1.4.0 spec/HNAPI/services/mechanize_context_spec.rb
ruby-hackernews-1.3.7 spec/HNAPI/services/mechanize_context_spec.rb