diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fdf44eba..33f964cf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,18 +15,13 @@ jobs: strategy: fail-fast: false matrix: - os: ['ubuntu-18.04', 'macos-latest'] - ruby: ['2.2', '2.3', '2.4', '2.5', '2.7'] + os: ['ubuntu-18.04', 'ubuntu-latest', 'macos-latest'] + ruby: ['2.6', '2.7', '3.0', '3.1'] experimental: [false] include: - - os: 'ubuntu-18.04' + - os: 'ubuntu-latest' ruby: 'head' experimental: true - exclude: - - os: 'ubuntu-18.04' - ruby: '2.2' # Rugged uses the wrong openssl version on CI and segfaults (similar to https://github.com/libgit2/rugged/issues/718) - - os: 'ubuntu-18.04' - ruby: '2.3' # Rugged uses the wrong openssl version on CI and segfaults (similar to https://github.com/libgit2/rugged/issues/718) runs-on: ${{ matrix.os }} continue-on-error: ${{ matrix.experimental }} steps: diff --git a/.rubocop.yml b/.rubocop.yml index acc533ce..816cafaa 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,5 +1,8 @@ inherit_from: .rubocop_todo.yml +AllCops: + NewCops: enable + Metrics/ClassLength: Enabled: false @@ -17,7 +20,7 @@ Style/GuardClause: Enabled: false Style/PredicateName: - NamePrefixBlacklist: + ForbiddenPrefixes: - is_ Style/StringLiterals: @@ -26,10 +29,13 @@ Style/StringLiterals: Style/TrailingCommaInArguments: EnforcedStyleForMultiline: comma -Style/TrailingCommaInLiteral: +Style/TrailingCommaInHashLiteral: + EnforcedStyleForMultiline: comma + +Style/TrailingCommaInArrayLiteral: EnforcedStyleForMultiline: comma -Style/UnneededPercentQ: +Style/RedundantPercentQ: Enabled: false Metrics/LineLength: diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index b001d1a2..f55d5c9a 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,125 +1,352 @@ # This configuration was generated by -# `rubocop --auto-gen-config` -# on 2016-05-25 17:29:05 +0900 using RuboCop version 0.40.0. +# `rubocop --auto-gen-config --exclude-limit 99999` +# on 2022-04-15 03:12:24 UTC using RuboCop version 1.27.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 4 +# Offense count: 3 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include. +# Include: **/*.gemspec +Gemspec/OrderedDependencies: + Exclude: + - 'qiita-markdown.gemspec' + +# Offense count: 1 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: Include. +# Include: **/*.gemspec +Gemspec/RequireMFA: + Exclude: + - 'qiita-markdown.gemspec' + +# Offense count: 1 +# Configuration parameters: Include. +# Include: **/*.gemspec +Gemspec/RequiredRubyVersion: + Exclude: + - 'qiita-markdown.gemspec' + +# Offense count: 1 +# This cop supports safe auto-correction (--auto-correct). +Layout/ClosingHeredocIndentation: + Exclude: + - 'spec/qiita/markdown/processor_spec.rb' + +# Offense count: 9 +# This cop supports safe auto-correction (--auto-correct). +Layout/EmptyLineAfterGuardClause: + Exclude: + - 'lib/qiita/markdown/filters/custom_block.rb' + - 'lib/qiita/markdown/filters/external_link.rb' + - 'lib/qiita/markdown/filters/footnote.rb' + - 'lib/qiita/markdown/filters/mention.rb' + - 'lib/qiita/markdown/filters/simplify.rb' + - 'lib/qiita/markdown/transformers/filter_attributes.rb' + +# Offense count: 22 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. +# SupportedHashRocketStyles: key, separator, table +# SupportedColonStyles: key, separator, table +# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit +Layout/HashAlignment: + Exclude: + - 'lib/qiita/markdown/filters/user_input_sanitizer.rb' + +# Offense count: 1 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBrackets: space, no_space +Layout/SpaceInsideArrayLiteralBrackets: + Exclude: + - 'lib/qiita/markdown/transformers/filter_iframe.rb' + +# Offense count: 2 +# This cop supports safe auto-correction (--auto-correct). +Lint/AmbiguousOperatorPrecedence: + Exclude: + - 'lib/qiita/markdown/filters/mention.rb' + +# Offense count: 5 +# Configuration parameters: IgnoredMethods, CountRepeatedAttributes. Metrics/AbcSize: - Max: 21 + Max: 22 -# Offense count: 4 -# Configuration parameters: CountComments. +# Offense count: 10 +# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods. Metrics/MethodLength: Max: 20 +# Offense count: 2 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle, BlockForwardingName. +# SupportedStyles: anonymous, explicit +Naming/BlockForwarding: + Exclude: + - 'lib/qiita/markdown/filters/truncate.rb' + # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -# SupportedStyles: always, conditionals -Style/AndOr: +Naming/ConstantName: Exclude: - - 'lib/qiita/markdown/filters/syntax_highlight.rb' + - 'lib/qiita/markdown/filters/mention.rb' + +# Offense count: 1 +# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms. +# CheckDefinitionPathHierarchyRoots: lib, spec, test, src +# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS +Naming/FileName: + Exclude: + - 'lib/qiita-markdown.rb' + +# Offense count: 33 +# Configuration parameters: ForbiddenDelimiters. +# ForbiddenDelimiters: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$)) +Naming/HeredocDelimiterNaming: + Exclude: + - 'spec/qiita/markdown/greenmat/html_toc_renderer_spec.rb' + - 'spec/qiita/markdown/summary_processor_spec.rb' # Offense count: 3 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# Configuration parameters: EnforcedStyleForLeadingUnderscores. +# SupportedStylesForLeadingUnderscores: disallowed, required, optional +Naming/MemoizedInstanceVariableName: + Exclude: + - 'benchmark/heading_anchor_rendering.rb' + - 'lib/qiita/markdown/filters/greenmat.rb' + - 'lib/qiita/markdown/greenmat/heading_rendering.rb' + +# Offense count: 1 +# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. +# AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to +Naming/MethodParameterName: + Exclude: + - 'lib/qiita/markdown/filters/footnote.rb' + +# Offense count: 3 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle. # SupportedStyles: percent_q, bare_percent Style/BarePercentLiterals: Exclude: - 'lib/qiita/markdown/filters/syntax_highlight.rb' # Offense count: 1 -Style/ConstantName: +# This cop supports safe auto-correction (--auto-correct). +Style/ExpandPathArguments: Exclude: - - 'lib/qiita/markdown/filters/mention.rb' + - 'qiita-markdown.gemspec' -# Offense count: 3 -Style/DoubleNegation: +# Offense count: 47 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, always_true, never +Style/FrozenStringLiteralComment: Exclude: + - 'Gemfile' + - 'Rakefile' - 'benchmark/heading_anchor_rendering.rb' + - 'lib/qiita-markdown.rb' + - 'lib/qiita/markdown.rb' + - 'lib/qiita/markdown/base_processor.rb' + - 'lib/qiita/markdown/embed/asciinema.rb' + - 'lib/qiita/markdown/embed/code_pen.rb' + - 'lib/qiita/markdown/embed/google_slide.rb' + - 'lib/qiita/markdown/embed/slide_share.rb' + - 'lib/qiita/markdown/embed/speeker_deck.rb' + - 'lib/qiita/markdown/embed/tweet.rb' + - 'lib/qiita/markdown/embed/youtube.rb' - 'lib/qiita/markdown/filters/checkbox.rb' + - 'lib/qiita/markdown/filters/code_block.rb' + - 'lib/qiita/markdown/filters/custom_block.rb' + - 'lib/qiita/markdown/filters/emoji.rb' + - 'lib/qiita/markdown/filters/external_link.rb' + - 'lib/qiita/markdown/filters/final_sanitizer.rb' + - 'lib/qiita/markdown/filters/footnote.rb' + - 'lib/qiita/markdown/filters/greenmat.rb' + - 'lib/qiita/markdown/filters/group_mention.rb' + - 'lib/qiita/markdown/filters/image_link.rb' + - 'lib/qiita/markdown/filters/inline_code_color.rb' + - 'lib/qiita/markdown/filters/mention.rb' + - 'lib/qiita/markdown/filters/simplify.rb' + - 'lib/qiita/markdown/filters/syntax_highlight.rb' + - 'lib/qiita/markdown/filters/toc.rb' + - 'lib/qiita/markdown/filters/truncate.rb' + - 'lib/qiita/markdown/filters/user_input_sanitizer.rb' + - 'lib/qiita/markdown/greenmat/heading_rendering.rb' + - 'lib/qiita/markdown/greenmat/html_renderer.rb' + - 'lib/qiita/markdown/greenmat/html_toc_renderer.rb' + - 'lib/qiita/markdown/processor.rb' + - 'lib/qiita/markdown/summary_processor.rb' + - 'lib/qiita/markdown/transformers/filter_attributes.rb' + - 'lib/qiita/markdown/transformers/filter_iframe.rb' + - 'lib/qiita/markdown/transformers/filter_script.rb' + - 'lib/qiita/markdown/transformers/strip_invalid_node.rb' + - 'lib/qiita/markdown/version.rb' + - 'qiita-markdown.gemspec' + - 'spec/qiita/markdown/filters/greenmat_spec.rb' + - 'spec/qiita/markdown/filters/inline_code_color_spec.rb' + - 'spec/qiita/markdown/greenmat/html_toc_renderer_spec.rb' + - 'spec/qiita/markdown/processor_spec.rb' + - 'spec/qiita/markdown/summary_processor_spec.rb' + - 'spec/spec_helper.rb' -# Offense count: 1 -# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts. -Style/FileName: +# Offense count: 6 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys +# SupportedShorthandSyntax: always, never, either +Style/HashSyntax: + EnforcedStyle: ruby19 + EnforcedShorthandSyntax: never + +# Offense count: 2 +# This cop supports safe auto-correction (--auto-correct). +Style/IfUnlessModifier: Exclude: - - 'lib/qiita-markdown.rb' + - 'lib/qiita/markdown/filters/truncate.rb' + - 'lib/qiita/markdown/transformers/strip_invalid_node.rb' -# Offense count: 11 -# Cop supports --auto-correct. +# Offense count: 17 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: literals, strict Style/MutableConstant: Exclude: - 'lib/qiita/markdown/embed/code_pen.rb' + - 'lib/qiita/markdown/filters/group_mention.rb' + - 'lib/qiita/markdown/filters/inline_code_color.rb' + - 'lib/qiita/markdown/filters/mention.rb' - 'lib/qiita/markdown/embed/tweet.rb' - 'lib/qiita/markdown/filters/checkbox.rb' - 'lib/qiita/markdown/filters/code_block.rb' - - 'lib/qiita/markdown/filters/sanitize.rb' - 'lib/qiita/markdown/filters/simplify.rb' - 'lib/qiita/markdown/filters/syntax_highlight.rb' - - 'lib/qiita/markdown/processor.rb' - - 'lib/qiita/markdown/summary_processor.rb' - 'lib/qiita/markdown/version.rb' # Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles. +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle, MinBodyLength. # SupportedStyles: skip_modifier_ifs, always Style/Next: Exclude: - 'lib/qiita/markdown/filters/code_block.rb' - 'lib/qiita/markdown/filters/image_link.rb' -# Offense count: 11 -# Cop supports --auto-correct. +# Offense count: 5 +# This cop supports unsafe auto-correction (--auto-correct-all). +# Configuration parameters: EnforcedStyle, IgnoredMethods. +# SupportedStyles: predicate, comparison +Style/NumericPredicate: + Exclude: + - 'spec/**/*' + - 'benchmark/heading_anchor_rendering.rb' + - 'lib/qiita/markdown/greenmat/heading_rendering.rb' + - 'lib/qiita/markdown/greenmat/html_toc_renderer.rb' + +# Offense count: 1 +# Configuration parameters: AllowedMethods. +# AllowedMethods: respond_to_missing? +Style/OptionalBooleanParameter: + Exclude: + - 'lib/qiita/markdown/greenmat/heading_rendering.rb' + +# Offense count: 1 +# This cop supports safe auto-correction (--auto-correct). +Style/OrAssignment: + Exclude: + - 'lib/qiita/markdown/greenmat/html_toc_renderer.rb' + +# Offense count: 9 +# This cop supports safe auto-correction (--auto-correct). # Configuration parameters: PreferredDelimiters. Style/PercentLiteralDelimiters: Exclude: - 'benchmark/heading_anchor_rendering.rb' - 'lib/qiita/markdown/filters/mention.rb' - - 'lib/qiita/markdown/filters/sanitize.rb' - 'lib/qiita/markdown/filters/syntax_highlight.rb' - 'spec/qiita/markdown/processor_spec.rb' - 'spec/qiita/markdown/summary_processor_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. +# This cop supports safe auto-correction (--auto-correct). Style/PerlBackrefs: Exclude: - 'lib/qiita/markdown/filters/mention.rb' # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes. +# This cop supports unsafe auto-correction (--auto-correct-all). +# Configuration parameters: Methods. +Style/RedundantArgument: + Exclude: + - 'lib/qiita/markdown/filters/custom_block.rb' + +# Offense count: 1 +# This cop supports safe auto-correction (--auto-correct). +Style/RedundantRegexpCharacterClass: + Exclude: + - 'lib/qiita/markdown/filters/mention.rb' + +# Offense count: 9 +# This cop supports safe auto-correction (--auto-correct). +Style/RedundantRegexpEscape: + Exclude: + - 'lib/qiita/markdown/filters/group_mention.rb' + - 'lib/qiita/markdown/filters/inline_code_color.rb' + +# Offense count: 4 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle, AllowInnerSlashes. # SupportedStyles: slashes, percent_r, mixed Style/RegexpLiteral: Exclude: - - 'lib/qiita/markdown/filters/mention.rb' - 'lib/qiita/markdown/filters/inline_code_color.rb' + - 'lib/qiita/markdown/filters/mention.rb' + +# Offense count: 1 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, explicit +Style/RescueStandardError: + Exclude: + - 'lib/qiita/markdown/filters/syntax_highlight.rb' + +# Offense count: 2 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. +# AllowedMethods: present?, blank?, presence, try, try! +Style/SafeNavigation: + Exclude: + - 'lib/qiita/markdown/filters/custom_block.rb' + - 'lib/qiita/markdown/filters/toc.rb' # Offense count: 3 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle. # SupportedStyles: only_raise, only_fail, semantic Style/SignalException: Exclude: - 'lib/qiita/markdown/greenmat/heading_rendering.rb' - 'spec/qiita/markdown/summary_processor_spec.rb' -# Offense count: 3 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyleForMultiline, SupportedStyles. -# SupportedStyles: comma, consistent_comma, no_comma +# Offense count: 13 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma Style/TrailingCommaInArguments: Exclude: - 'lib/qiita/markdown/filters/mention.rb' - 'spec/qiita/markdown/processor_spec.rb' -# Offense count: 9 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, MinSize, WordRegex. +# Offense count: 12 +# This cop supports safe auto-correction (--auto-correct). +# Configuration parameters: EnforcedStyle, MinSize, WordRegex. # SupportedStyles: percent, brackets Style/WordArray: - Enabled: false + Exclude: + - 'lib/qiita/markdown/filters/final_sanitizer.rb' + - 'lib/qiita/markdown/transformers/filter_script.rb' + - 'spec/qiita/markdown/processor_spec.rb' diff --git a/CHANGELOG.md b/CHANGELOG.md index 119781e3..776c65f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ ## Unreleased +## 0.42.0 + +- Add for Ruby 3.0, 3.1 support +- Bump greenmat from 3.5.1.3 to 3.5.1.4 + +## 0.41.0 + +- Bump greenmat from 3.5.1.2 to 3.5.1.3 +- Dropping Ruby 2.5 support (#107) +- Bump rubocop from 0.40.0 to 1.7.0 + +## 0.40.1 + +- Fix to support file names containing colons. + ## 0.40.0 - Change ci platform to Github Actions. - Fix regular expressions to detect group id(url_name) for group mention. diff --git a/lib/qiita/markdown/filters/code_block.rb b/lib/qiita/markdown/filters/code_block.rb index 96a771a0..37ef0cbe 100644 --- a/lib/qiita/markdown/filters/code_block.rb +++ b/lib/qiita/markdown/filters/code_block.rb @@ -90,7 +90,8 @@ def linguist_language end def sections - @sections ||= (@text || "").split(":") + splited = (@text || "").split(":") + @sections ||= splited.length <= 2 ? splited : @text.split(":", 2) end end end diff --git a/lib/qiita/markdown/filters/syntax_highlight.rb b/lib/qiita/markdown/filters/syntax_highlight.rb index abfbd81f..e258ecc1 100644 --- a/lib/qiita/markdown/filters/syntax_highlight.rb +++ b/lib/qiita/markdown/filters/syntax_highlight.rb @@ -43,8 +43,8 @@ def timeout end class Highlighter - def self.call(*args) - new(*args).call + def self.call(**args) + new(**args).call end def initialize(default_language: nil, node: nil, specific_language: nil) diff --git a/lib/qiita/markdown/transformers/filter_attributes.rb b/lib/qiita/markdown/transformers/filter_attributes.rb index 5341d8ef..e05b6596 100644 --- a/lib/qiita/markdown/transformers/filter_attributes.rb +++ b/lib/qiita/markdown/transformers/filter_attributes.rb @@ -27,8 +27,8 @@ class FilterAttributes DELIMITER = " ".freeze - def self.call(*args) - new(*args).transform + def self.call(**args) + new(**args).transform end def initialize(env) diff --git a/lib/qiita/markdown/transformers/filter_iframe.rb b/lib/qiita/markdown/transformers/filter_iframe.rb index 3a847d6d..899337b2 100644 --- a/lib/qiita/markdown/transformers/filter_iframe.rb +++ b/lib/qiita/markdown/transformers/filter_iframe.rb @@ -11,8 +11,8 @@ class FilterIframe Embed::GoogleSlide::SCRIPT_HOST, ].flatten.freeze - def self.call(*args) - new(*args).transform + def self.call(**args) + new(**args).transform end def initialize(env) diff --git a/lib/qiita/markdown/transformers/filter_script.rb b/lib/qiita/markdown/transformers/filter_script.rb index fc70021f..290f7340 100644 --- a/lib/qiita/markdown/transformers/filter_script.rb +++ b/lib/qiita/markdown/transformers/filter_script.rb @@ -12,8 +12,8 @@ class FilterScript Embed::Asciinema::SCRIPT_HOST, ].flatten.freeze - def self.call(*args) - new(*args).transform + def self.call(**args) + new(**args).transform end def initialize(env) diff --git a/lib/qiita/markdown/transformers/strip_invalid_node.rb b/lib/qiita/markdown/transformers/strip_invalid_node.rb index d9971485..199fb5c5 100644 --- a/lib/qiita/markdown/transformers/strip_invalid_node.rb +++ b/lib/qiita/markdown/transformers/strip_invalid_node.rb @@ -3,8 +3,8 @@ module Markdown module Transformers # Wraps a node env to transform invalid node. class StripInvalidNode - def self.call(*args) - new(*args).transform + def self.call(**args) + new(**args).transform end def initialize(env) diff --git a/lib/qiita/markdown/version.rb b/lib/qiita/markdown/version.rb index 6eb9bae0..b90d5dc6 100644 --- a/lib/qiita/markdown/version.rb +++ b/lib/qiita/markdown/version.rb @@ -1,5 +1,5 @@ module Qiita module Markdown - VERSION = "0.40.0" + VERSION = "0.42.0" end end diff --git a/qiita-markdown.gemspec b/qiita-markdown.gemspec index 625f89ad..c34a0c67 100644 --- a/qiita-markdown.gemspec +++ b/qiita-markdown.gemspec @@ -16,17 +16,17 @@ Gem::Specification.new do |spec| spec.test_files = spec.files.grep(%r{^(test|spec|features)/}) spec.require_paths = ["lib"] - spec.required_ruby_version = ">= 2.2.0" + spec.required_ruby_version = ">= 2.6.0" spec.add_dependency "gemoji" spec.add_dependency "github-linguist", "~> 4.0" spec.add_dependency "html-pipeline", "~> 2.0" spec.add_dependency "mem" spec.add_dependency "rouge", "3.26.0" - spec.add_dependency "greenmat", "3.5.1.2" + spec.add_dependency "greenmat", "3.5.1.4" spec.add_dependency "sanitize" spec.add_dependency "addressable" - spec.add_development_dependency "activesupport", "4.2.6" + spec.add_development_dependency "activesupport", "~> 5.2.7" spec.add_development_dependency "benchmark-ips", "~> 1.2" spec.add_development_dependency "bundler" spec.add_development_dependency "codeclimate-test-reporter", "0.4.4" @@ -34,5 +34,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency "pry" spec.add_development_dependency "rake", "~> 10.0" spec.add_development_dependency "rspec", "~> 3.1" - spec.add_development_dependency "rubocop", "0.49.1" + spec.add_development_dependency "rubocop", "~> 1.27.0" end diff --git a/spec/qiita/markdown/processor_spec.rb b/spec/qiita/markdown/processor_spec.rb index 30aa08ea..3acb4b7f 100644 --- a/spec/qiita/markdown/processor_spec.rb +++ b/spec/qiita/markdown/processor_spec.rb @@ -156,6 +156,26 @@ end end + context "with code & filename with `:`" do + let(:markdown) do + <<-MARKDOWN.strip_heredoc + ```ruby:test:example.rb + 1 + ``` + MARKDOWN + end + + it "returns code-frame, code-lang, and highlighted pre element" do + should eq <<-HTML.strip_heredoc +
+
test:example.rb
+
1
+            
+
+ HTML + end + end + context "with code & filename with .php" do let(:markdown) do <<-MARKDOWN.strip_heredoc