Commit c6eee66a authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Warn when invalid guide name is used.

Related to: #374
parent 49da9f19
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -56,6 +56,10 @@ module JsDuck
    def load_guide(guide)
      return Logger.warn(:guide, "Guide not found", guide["url"]) unless File.exists?(guide["url"])
      return Logger.warn(:guide, "Guide not found", guide[:filename]) unless File.exists?(guide[:filename])
      unless js_ident?(guide["name"])
        # Guide name is also used as JSONP callback method name.
        return Logger.warn(:guide, "Guide name is not valid JS identifier: #{guide["name"]}", guide[:filename])
      end

      begin
        return format_guide(guide)
@@ -105,6 +109,11 @@ module JsDuck
      end
    end

    # True when string is valid JavaScript identifier
    def js_ident?(str)
      /\A[$\w]+\z/ =~ str
    end

    # Ensures the guide dir contains icon.png.
    # When there isn't looks for icon-lg.png and renames it to icon.png.
    # When neither exists, copies over default icon.