Updated to latest rspec
[gitorious:georgyos-clone.git] / vendor / plugins / rspec / spec / spec / runner / spec_parser_spec.rb
1 require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
3 describe "SpecParser" do
4   attr_reader :parser, :file
5   before(:each) do
6     @original_rspec_options = $rspec_options
7     $rspec_options = ::Spec::Runner::Options.new(StringIO.new, StringIO.new)
8     @parser = Spec::Runner::SpecParser.new
9     @file = "#{File.dirname(__FILE__)}/spec_parser/spec_parser_fixture.rb"
10     load file
11   end
12
13   after do
14     $rspec_options = @original_rspec_options
15   end
16
17   it "should find spec name for 'specify' at same line" do
18     parser.spec_name_for(file, 5).should == "c 1"
19   end
20
21   it "should find spec name for 'specify' at end of spec line" do
22     parser.spec_name_for(file, 6).should == "c 1"
23   end
24
25   it "should find context for 'context' above all specs" do
26     parser.spec_name_for(file, 4).should == "c"
27   end
28
29   it "should find spec name for 'it' at same line" do
30     parser.spec_name_for(file, 15).should == "d 3"
31   end
32
33   it "should find spec name for 'it' at end of spec line" do
34     parser.spec_name_for(file, 16).should == "d 3"
35   end
36
37   it "should find context for 'describe' above all specs" do
38     parser.spec_name_for(file, 14).should == "d"
39   end
40
41   it "should find nearest example name between examples" do
42     parser.spec_name_for(file, 7).should == "c 1"
43   end
44
45   it "should find nothing outside a context" do
46     parser.spec_name_for(file, 2).should be_nil
47   end
48
49   it "should find context name for type" do
50     parser.spec_name_for(file, 26).should == "SpecParserSubject"
51   end
52
53   it "should find context and spec name for type" do
54     parser.spec_name_for(file, 28).should == "SpecParserSubject 5"
55   end
56
57   it "should find context and description for type" do
58     parser.spec_name_for(file, 33).should == "SpecParserSubject described"
59   end
60
61   it "should find context and description and example for type" do
62     parser.spec_name_for(file, 36).should == "SpecParserSubject described 6"
63   end
64
65   it "should find context and description for type with modifications" do
66     parser.spec_name_for(file, 40).should == "SpecParserSubject described"
67   end
68
69   it "should find context and described and example for type with modifications" do
70     parser.spec_name_for(file, 43).should == "SpecParserSubject described 7"
71   end
72
73   it "should find example group" do
74     parser.spec_name_for(file, 47).should == "described"
75   end
76
77   it "should find example" do
78     parser.spec_name_for(file, 50).should == "described 8"
79   end
80
81   it "should find nested example" do
82     parser.spec_name_for(file, 63).should == "e f 11"
83   end
84
85 end