Sha256: 9f0c191002f7b27382793d8488a92af9c24a55b904b6fcffb0ca0cb8ba61cf35

Contents?: true

Size: 1.64 KB

Versions: 1

Compression:

Stored size: 1.64 KB

Contents

require 'test/unit'
require 'gem_plugin'

include GemPlugin

class ATestPlugin < GemPlugin::Plugin "/stuff"
end

class First < GemPlugin::Plugin "/commands"
  def initialize(options = {})
    puts "First with options: #{options.inspect}"
  end
end

class Second < GemPlugin::Plugin "/commands"
  def initialize(options = {})
    puts "Second with options: #{options.inspect}"
  end
end

class Last < GemPlugin::Plugin "/commands"
  def initialize(options = {})
    puts "Last with options: #{options.inspect}"
  end
end


class PluginTest < Test::Unit::TestCase

  def setup
    @pmgr = Manager.instance
    @pmgr.load({"rails" => EXCLUDE})
    @categories = ["/commands"]
    @names = ["/first", "/second", "/last", "/atestplugin"]
  end

  def test_load_plugins
    puts "#{@pmgr.available.inspect}"
    @pmgr.available.each {|cat,plugins|
      plugins.each do |n,p|
        puts "TEST: #{cat}#{n}"
        assert @names.include?(n)
      end
    }

    @pmgr.load
    @pmgr.available.each do |cat,plugins|
      plugins.each do |n,p|
        STDERR.puts "#{cat}#{n}"
        plugin = @pmgr.create("#{cat}#{n}", options={"name" => p})
      end
    end
  end

  def test_similar_uris

    @pmgr.register("/test", "/testme", ATestPlugin)
    @pmgr.register("/test2", "/testme", ATestPlugin)

    assert_equal @pmgr.create("/test/testme").class, ATestPlugin
    assert_equal @pmgr.create("/test2/testme").class, ATestPlugin

  end


  def test_create
    last = @pmgr.create("/commands/last", "test" => "stuff")
    assert last != nil, "Didn't make the right plugin"
    first = @pmgr.create("/commands/last")
    assert first != nil, "Didn't make the right plugin"
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gem_plugin-0.1 test/test_plugins.rb