diff --git a/lib/jsduck/lexer.rb b/lib/jsduck/lexer.rb index e6c54480a6efac4445d77195e70634a4199d3daf..8ec3d9853f3ea2d798a732b471600f2de6e35050 100644 --- a/lib/jsduck/lexer.rb +++ b/lib/jsduck/lexer.rb @@ -140,7 +140,7 @@ module JsDuck elsif @input.check(/\//) # Several things begin with dash: # - comments, regexes, division-operators - if @input.check(/\/\*\*/) + if @input.check(/\/\*\*[^\/]/) return { :type => :doc_comment, # Calculate current line number, starting with 1 diff --git a/spec/lexer_spec.rb b/spec/lexer_spec.rb index fd1fe667aed925981d90d9d78708a04d44cf1ad7..43304ac28c1c61a92fc6476fdf3e49d41912a0fa 100644 --- a/spec/lexer_spec.rb +++ b/spec/lexer_spec.rb @@ -127,6 +127,10 @@ describe JsDuck::Lexer do lex("a /* foo */ b").should == [[:ident, "a"], [:ident, "b"]] end + it "ignores empty multi-line comments" do + lex("a /**/ b").should == [[:ident, "a"], [:ident, "b"]] + end + it "identifies doc-comments together with line numbers" do lex("/** foo */").should == [[:doc_comment, "/** foo */", 1]] end