This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 124502 - "Convert negative if statement into unless statement" can generate "elsunless"
Summary: "Convert negative if statement into unless statement" can generate "elsunless"
Status: RESOLVED FIXED
Alias: None
Product: ruby
Classification: Unclassified
Component: Hints (show other bugs)
Version: 6.x
Hardware: Macintosh Mac OS X
: P3 blocker (vote)
Assignee: Torbjorn Norbye
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-29 06:28 UTC by richpoirier
Modified: 2007-12-29 21:07 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description richpoirier 2007-12-29 06:28:00 UTC
if str == 'something'
  do_something
elsif !str.blank?
  do_something_else
end

Using the "Convert negative if statement into unless statement" hint on the elsif line changes it to:

elsunless str.blank?

which is not legal Ruby as far as I know.
Comment 1 Torbjorn Norbye 2007-12-29 21:07:43 UTC
Thanks for the report! I fixed it (along with some other scenarios I discovered, now covered by unit tests).

Available in build #5940 and later from http://deadlock.netbeans.org/hudson/job/ruby/ .

IDE:-------------------------------------------------
IDE: [12/29/07 1:05 PM] Committing started
cvs server: scheduling file `elsif.rb' for addition
cvs server: scheduling file `emptybody.rb.testNoHint11.hints' for addition
cvs server: scheduling file `elsif.rb.testNoHint9.hints' for addition
cvs server: scheduling file `elsif.rb.testNoHint8.hints' for addition
cvs server: scheduling file `emptybody.rb.testNoHint10.hints' for addition
cvs server: scheduling file `emptybody.rb' for addition
cvs server: scheduling file `elsif.rb.testNoHint7.hints' for addition
cvs server: use 'cvs commit' to add these files permanently
Checking in src/org/netbeans/modules/ruby/extrahints/ConvertIfToUnless.java;
/cvs/ruby/hints/extrahints/src/org/netbeans/modules/ruby/extrahints/ConvertIfToUnless.java,v  <--  ConvertIfToUnless.java
new revision: 1.6; previous revision: 1.5
done
Checking in src/org/netbeans/modules/ruby/extrahints/ConvertConditionals.java;
/cvs/ruby/hints/extrahints/src/org/netbeans/modules/ruby/extrahints/ConvertConditionals.java,v  <-- 
ConvertConditionals.java
new revision: 1.7; previous revision: 1.6
done
RCS file: /cvs/ruby/hints/extrahints/test/unit/data/testfiles/elsif.rb.testNoHint7.hints,v
done
Checking in test/unit/data/testfiles/elsif.rb.testNoHint7.hints;
/cvs/ruby/hints/extrahints/test/unit/data/testfiles/elsif.rb.testNoHint7.hints,v  <--  elsif.rb.testNoHint7.hints
initial revision: 1.1
done
RCS file: /cvs/ruby/hints/extrahints/test/unit/data/testfiles/emptybody.rb.testNoHint10.hints,v
done
Checking in test/unit/data/testfiles/emptybody.rb.testNoHint10.hints;
/cvs/ruby/hints/extrahints/test/unit/data/testfiles/emptybody.rb.testNoHint10.hints,v  <--  emptybody.rb.testNoHint10.hints
initial revision: 1.1
done
RCS file: /cvs/ruby/hints/extrahints/test/unit/data/testfiles/emptybody.rb,v
done
Checking in test/unit/data/testfiles/emptybody.rb;
/cvs/ruby/hints/extrahints/test/unit/data/testfiles/emptybody.rb,v  <--  emptybody.rb
initial revision: 1.1
done
RCS file: /cvs/ruby/hints/extrahints/test/unit/data/testfiles/elsif.rb.testNoHint8.hints,v
done
Checking in test/unit/data/testfiles/elsif.rb.testNoHint8.hints;
/cvs/ruby/hints/extrahints/test/unit/data/testfiles/elsif.rb.testNoHint8.hints,v  <--  elsif.rb.testNoHint8.hints
initial revision: 1.1
done
RCS file: /cvs/ruby/hints/extrahints/test/unit/data/testfiles/elsif.rb.testNoHint9.hints,v
done
Checking in test/unit/data/testfiles/elsif.rb.testNoHint9.hints;
/cvs/ruby/hints/extrahints/test/unit/data/testfiles/elsif.rb.testNoHint9.hints,v  <--  elsif.rb.testNoHint9.hints
initial revision: 1.1
done
RCS file: /cvs/ruby/hints/extrahints/test/unit/data/testfiles/emptybody.rb.testNoHint11.hints,v
done
Checking in test/unit/data/testfiles/emptybody.rb.testNoHint11.hints;
/cvs/ruby/hints/extrahints/test/unit/data/testfiles/emptybody.rb.testNoHint11.hints,v  <--  emptybody.rb.testNoHint11.hints
initial revision: 1.1
done
RCS file: /cvs/ruby/hints/extrahints/test/unit/data/testfiles/elsif.rb,v
done
Checking in test/unit/data/testfiles/elsif.rb;
/cvs/ruby/hints/extrahints/test/unit/data/testfiles/elsif.rb,v  <--  elsif.rb
initial revision: 1.1
done
Checking in test/unit/src/org/netbeans/modules/ruby/extrahints/ConvertConditionalsTest.java;
/cvs/ruby/hints/extrahints/test/unit/src/org/netbeans/modules/ruby/extrahints/ConvertConditionalsTest.java,v  <-- 
ConvertConditionalsTest.java
new revision: 1.4; previous revision: 1.3
done
Checking in test/unit/src/org/netbeans/modules/ruby/extrahints/ConvertIfToUnlessTest.java;
/cvs/ruby/hints/extrahints/test/unit/src/org/netbeans/modules/ruby/extrahints/ConvertIfToUnlessTest.java,v  <-- 
ConvertIfToUnlessTest.java
new revision: 1.5; previous revision: 1.4
done
IDE: [12/29/07 1:05 PM] Committing finished