mirror of
https://github.com/discourse/discourse.git
synced 2024-11-26 00:56:19 +08:00
13b13a758c
This plugin is no longer supported, and so we no longer need to run its tests in CI (removing the comment and the 'Canned Replies' value from the array caused syntax_tree to change to the `%w` syntax)
52 lines
1.3 KiB
Ruby
52 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe Plugin::Metadata do
|
|
describe "parse" do
|
|
it "correctly parses plugin info" do
|
|
metadata = Plugin::Metadata.parse <<TEXT
|
|
# name: plugin-name
|
|
# about: about: my plugin
|
|
# version: 0.1
|
|
# authors: Frank Zappa
|
|
# contact emails: frankz@example.com
|
|
# url: http://discourse.org
|
|
# required version: 1.3.0beta6+48
|
|
|
|
some_ruby
|
|
TEXT
|
|
|
|
expect(metadata.name).to eq("plugin-name")
|
|
expect(metadata.about).to eq("about: my plugin")
|
|
expect(metadata.version).to eq("0.1")
|
|
expect(metadata.authors).to eq("Frank Zappa")
|
|
expect(metadata.contact_emails).to eq("frankz@example.com")
|
|
expect(metadata.url).to eq("http://discourse.org")
|
|
expect(metadata.required_version).to eq("1.3.0beta6+48")
|
|
end
|
|
end
|
|
|
|
def official(name)
|
|
metadata = Plugin::Metadata.parse <<TEXT
|
|
# name: #{name}
|
|
TEXT
|
|
|
|
expect(metadata.official?).to eq(true)
|
|
end
|
|
|
|
def unofficial(name)
|
|
metadata = Plugin::Metadata.parse <<TEXT
|
|
# name: #{name}
|
|
TEXT
|
|
|
|
expect(metadata.official?).to eq(false)
|
|
end
|
|
|
|
it "correctly detects official vs unofficial plugins" do
|
|
official("discourse-adplugin")
|
|
official("discourse-akismet")
|
|
official("discourse-cakeday")
|
|
official("discourse-data-explorer")
|
|
unofficial("babble")
|
|
end
|
|
end
|