Commit 63d38b00 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Recognize regex token after return keyword.

parent 334aa5ea
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ module JsDuck
    end

    # A slash "/" is a division operator if it follows:
    # - identifier
    # - identifier (but not the keyword "return")
    # - number
    # - closing bracket )
    # - closing square-bracket ]
@@ -92,7 +92,7 @@ module JsDuck
      if @tokens.last then
        type = @tokens.last[:type]
        value = @tokens.last[:value]
        if type == :ident || type == :number || value == ")" || value == "]" then
        if (type == :ident && value != "return") || type == :number || value == ")" || value == "]" then
          return false
        end
      end
+11 −0
Original line number Diff line number Diff line
@@ -35,6 +35,17 @@ class TestLexer < Test::Unit::TestCase
                  ])
  end

  def test_regex_after_return
    assert_tokens("return /foo/.test;",
                  [
                   [:ident, "return"],
                   [:regex, "/foo/"],
                   [:operator, "."],
                   [:ident, "test"],
                   [:operator, ";"]
                  ])
  end

  def test_strings
    d = '"' # double-quote
    s = "'" # single-quote