Sha256: 6355a9757d7debe8f0121114edcfe1e9df567ea35646eeb297c8b0b31b2bd46f

Contents?: true

Size: 1.2 KB

Versions: 20

Compression:

Stored size: 1.2 KB

Contents

require 'spec_helper'
require 'mock_application'

class JunkApp < Launchy::Application
  def self.handles?( uri )
    uri.scheme == "junk"
  end
end

describe Launchy::Application do
  it 'registers inherited classes' do
    class Junk2App < Launchy::Application
      def self.handles?( uri )
        uri.scheme == "junk2"
      end
    end
    Launchy::Application.children.must_include( Junk2App )
    Launchy::Application.children.delete( Junk2App )
  end

  it "can find an app" do
    Launchy::Application.children.must_include( JunkApp )
    Launchy::Application.children.size.must_equal 3
    uri = Addressable::URI.parse( "junk:///foo" )
    Launchy::Application.handling( uri ).must_equal( JunkApp  )
  end

  it "raises an error if an application cannot be found for the given scheme" do
    uri = Addressable::URI.parse( "foo:///bar" )
    lambda { Launchy::Application.handling( uri ) }.must_raise( Launchy::ApplicationNotFoundError )
  end

  it "can find open or curl" do
    found = %w[ open curl ].any? do |app|
      Launchy::Application.find_executable( app )
    end
    found.must_equal true
  end

  it "does not find xyzzy" do
    Launchy::Application.find_executable( "xyzzy" ).must_equal  nil
  end
end

Version data entries

20 entries across 20 versions & 3 rubygems

Version Path
launchy-2.3.0 spec/application_spec.rb
launchy-2.2.0-java spec/application_spec.rb
launchy-2.2.0 spec/application_spec.rb
sunrise-cms-0.5.0.rc1 vendor/bundle/ruby/1.9.1/gems/launchy-2.1.2/spec/application_spec.rb
launchy-2.1.2-java spec/application_spec.rb
launchy-2.1.2 spec/application_spec.rb
launchy-2.1.1-java spec/application_spec.rb
launchy-2.1.1 spec/application_spec.rb
sunrise-cms-0.3.3 vendor/bundle/ruby/1.9.1/gems/launchy-2.1.0/spec/application_spec.rb
sunrise-cms-0.3.2 vendor/bundle/ruby/1.9.1/gems/launchy-2.1.0/spec/application_spec.rb
sunrise-cms-0.3.1 vendor/bundle/ruby/1.9.1/gems/launchy-2.1.0/spec/application_spec.rb
sunrise-cms-0.3.0 vendor/bundle/ruby/1.9.1/gems/launchy-2.1.0/spec/application_spec.rb
sunrise-cms-0.3.0.rc vendor/bundle/ruby/1.9.1/gems/launchy-2.1.0/spec/application_spec.rb
launchy-2.1.0-java spec/application_spec.rb
launchy-2.1.0 spec/application_spec.rb
launchy-2.0.5-java spec/application_spec.rb
wijet-launchy-2.0.6 spec/application_spec.rb
launchy-2.0.5 spec/application_spec.rb
launchy-2.0.4-java spec/application_spec.rb
launchy-2.0.4 spec/application_spec.rb