Sha256: 905d77f5187f27cbc323a8749f8af5b6643a10cefbd618eba55f8307918cd0f7

Contents?: true

Size: 1.04 KB

Versions: 26

Compression:

Stored size: 1.04 KB

Contents

module JsTestCore
  class SeleniumServerConfiguration
    attr_reader :parameters

    class << self
      def query_string_from(*args, &block)
        new(*args, &block).query_string
      end
    end

    def initialize(parameters={})
      @parameters = parameters
    end


    def query_string
      parts = [selenium_browser_start_command, selenium_host, selenium_port]
      parts << spec_url if url
      parts.join('&')
    end

    private

    def selenium_browser_start_command
      "selenium_browser_start_command=#{parameter_or_default_for(:selenium_browser_start_command, '*firefox')}"
    end

    def selenium_host
      "selenium_host=#{parameter_or_default_for(:selenium_host, 'localhost')}"
    end

    def selenium_port
      "selenium_port=#{parameter_or_default_for(:selenium_port, 4444)}"
    end

    def spec_url
      "spec_url=#{url}"
    end

    def url
      parameters[:spec_url]
    end

    def parameter_or_default_for(parameter_name, default = nil)
      CGI.escape((parameters[parameter_name] || default).to_s)
    end
  end
end

Version data entries

26 entries across 26 versions & 6 rubygems

Version Path
pivotal-screw-unit-0.4.0 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-0.4.1 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-0.4.2 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-0.4.3 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-0.5.0 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-0.5.1 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-0.5.2 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-0.5.3 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.10 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.11 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.12 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.3 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.4 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.5 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.6 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.7 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.8 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
pivotal-screw-unit-server-0.5.9 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
js_spec-0.3.3 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb
js_spec-0.3.2 vendor/js-test-core/lib/js_test_core/selenium_server_configuration.rb