On 25 Feb 2011, at 00:26, Shamaoke wrote: > Thanks for the explanations, Costi G. I didn't thought that the `DATA` > constant isn't seen by the interpreter if it is in the required file. > > The only solution that I can think of right now is the following:
Why not just File.read(DATA_FILE) and keep the data in a separate file? > > ~~~ > # data_spec.rb > > describe 'DATA' do > it 'contains lines following the __END__ keyword' do > data = File.read(__FILE__).split("__END__\n")[-1] > data.should == "Hello from the underground!\n" > end > end > > __END__ > Hello from the underground! > ~~~ > > Costi G.: >> P. A. wrote in post #983523: >>> Hi. >>> >>> In Ruby there's the `DATA` constant which contains the lines following >>> the `__END__` keyword in the source file. For some reason RSpec >>> doesn't see it. >>> >>> Here's the example: >>> >>> ~~~ >>> # data_spec.rb >>> >>> requre 'rspec' >>> >>> describe 'DATA' do >>> it 'contains lines following the __END__ keyword' do >>> DATA.read.should == "Hello from underground!\n" >>> end >>> end >>> >>> __END__ >>> Hello from underground! >>> ~~~ >>> >>> If then I run `$ rspec data_spec.rb`, I'm getting 'NameError: >>> uninitialized constant RSpec::Core::ExampleGroup::Nested_1::DATA'. >>> However, if I use `$ ruby data_spec.rb` all works fine. >> >> DATA works only on the first file called by the interpreter. >> >> first.rb: >> require 'second' >> >> second.rb: >> p DATA.read >> >> __END__ >> BAM! >> >> >> ruby first.rb >> ./second.rb:1: uninitialized constant DATA (NameError) >> from first.rb:1:in `require' >> from first.rb:1 >> >> ruby second.rb >> "BAM!\n" >> >> >>> >>> Why RSpec doesn't see the constant when I use the `rspec` command? How >>> can I solve the problem? >> >> >> The restriction on DATA notwithstanding, DATA in that context will by >> ambiguous. Think about it, is the DATA from the rspec file or the DATA >> from the tested file? >> >> -- >> Posted via http://www.ruby-forum.com/. >> _______________________________________________ >> rspec-users mailing list >> rspec-users@rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users cheers, Matt m...@mattwynne.net 07974 430184 _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users