Archive for August 18th, 2009

Testing RubyMine with Cucumber

Tuesday, August 18th, 2009

We’ve recently tried to do some dogfooding of our updated Cucumber support and to write some RubyMine tests with it. And we actually liked the result so much that we’re now writing most of our new tests with Cucumber, and slowly accumulating a set of step definitions for testing RubyMine code. Since RubyMine is a Java application, we obviously have to run Cucumber under JRuby, and we also use JRuby for writing the step definitions.

We have our Cucumber tests running as part of our continuous integration build on TeamCity. Since we have a Cucumber formatter that outputs results in the format of TeamCity service messages, we can run Cucumber tests in the same build as our main JUnit tests and aggregate the reporting for passed and failed tests.

Of course, the real use of Cucumber gives us a lot of ideas for features which can be implemented to improve our Cucumber support in RubyMine even more — and eventually, you’ll see them in new EAP builds of RubyMine.

What’s mining: SASS support

Tuesday, August 18th, 2009

Hello everyone,

Our team is glad to announce that development builds of RubyMine already support SASS! The feature will be available in the next public EAP build.

We originally planned SASS support for RubyMine version 2.0, but we received a lot of requests on our forums, mailing lists, in JIRA, and we changed the priorities. (So, if you miss a feature, you can have it)

For now RubyMine’s SASS support includes:

  • Syntax highlighting
  • Smart code folding based on indentation
  • Comment/uncomment actions
  • Dedicated colors page to customize default highlighting attributes
  • Smart color-editor with gutters (see screenshot)

Here you can see SASS editor with smart code folding based on indentation. The syntax highlighting attributes can be configured in File | Settings | Editor | Colors & Fonts | SASS.

SASS editor with code folding

You can see color boxes on the gutters — these are exactly the colors used within your SASS file.
You can modify them either by editing plain SASS code or using RubyMine’s Color Edtor — just click the corresponding gutter!

Smart editor for SASS color attributes

And this is not all, we have a lot of plans for future SASS codeinsight aware support like:

  • Attributes validations
  • Navigation to constant definition, parent attributes
  • and much more

You are welcome to try all these things in coming RubyMine 1.5 EAP build!

Develop with SASS! Develop with pleasure!
- JetBrains RubyMine Team