Sha256: 279b8fe8e7a69e59651058a3fc148710e9692bccc347e8fff7a2004b66e69693

Contents?: true

Size: 964 Bytes

Versions: 4

Compression:

Stored size: 964 Bytes

Contents

require 'cucumber/rake/task'
require 'mediawiki_selenium'
require 'uri'

module MediawikiSelenium
  class RakeTask < Cucumber::Rake::Task
    def initialize(name: :selenium, test_dir: Environment.default_test_directory, site_tag: true)
      target = File.expand_path(test_dir, Rake.original_dir)
      env = Environment.load_default(target)

      workspace = env.lookup(:workspace, default: nil)
      site = URI.parse(env.lookup(:mediawiki_url)).host
      browser_tags = env.browser_tags.map { |tag| "@#{tag}" }.join(',')

      options = Shellwords.escape(test_dir)

      if workspace
        options +=
          ' --backtrace --verbose --color --format pretty'\
          " --format Cucumber::Formatter::Sauce --out '#{workspace}/log/junit'"\
          ' --tags ~@skip'
        options +=
          " --tags @#{site}" if site_tag
      end

      super(name) do |t|
        t.cucumber_opts = "#{options} --tags #{browser_tags}"
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mediawiki_selenium-1.7.3 lib/mediawiki_selenium/rake_task.rb
mediawiki_selenium-1.7.2 lib/mediawiki_selenium/rake_task.rb
mediawiki_selenium-1.7.1 lib/mediawiki_selenium/rake_task.rb
mediawiki_selenium-1.7.0 lib/mediawiki_selenium/rake_task.rb