> I narrowed down to SyntaxError because if trim option is not present, SyntaxError is raised. It is an explicite sign if actual code cannot parse the .rspec file. No other way to detect missing trim options, sadly.

`SyntaxError` is what is raised by the ruby versions and implementations you have tried this on, but are you sure it's the error raised on all implementations and all versions (including future versions...)?  If any of them raise a different kind of error, this expectation will pass even if the code doesn't work.  Actually, it's worse than that.  Consider what happens when you change this to:

``` ruby
      expect do
        expect(parse_options[:formatters]).to eq([['global']])
      end.to_not raise_error(SyntaxError)
```

The inner expectation fails and raises a `RSpec::Expectations::ExpectationNotMetError`, but because this is not a `SyntaxError`, it passes the outer expectation...because hey, `SyntaxError` was not raised.  Or consider what happens if we rename the `parse_options` helper method but forget to update it here: the inner expression will raise a `NoMethodError` but that's not a `SyntaxError`, either, so it will still pass even though the parser isn't even being run as part of this example.

I think my preference is to remove the outer `expect { }.to_not raise_error` expectation entirely.