inversion 0.12.3 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +2 -1
  3. data.tar.gz.sig +0 -0
  4. data/ChangeLog +305 -9
  5. data/Examples.rdoc +134 -0
  6. data/GettingStarted.rdoc +44 -0
  7. data/Guide.rdoc +47 -0
  8. data/History.rdoc +15 -0
  9. data/Manifest.txt +7 -2
  10. data/README.rdoc +9 -10
  11. data/Rakefile +23 -10
  12. data/Tags.rdoc +561 -0
  13. data/lib/inversion.rb +2 -2
  14. data/lib/inversion/renderstate.rb +46 -11
  15. data/lib/inversion/template.rb +85 -7
  16. data/lib/inversion/template/attrtag.rb +1 -1
  17. data/lib/inversion/template/begintag.rb +8 -8
  18. data/lib/inversion/template/fragmenttag.rb +60 -0
  19. data/lib/inversion/template/rescuetag.rb +1 -1
  20. data/spec/{lib/helpers.rb → helpers.rb} +7 -30
  21. data/spec/inversion/mixins_spec.rb +55 -65
  22. data/spec/inversion/monkeypatches_spec.rb +2 -12
  23. data/spec/inversion/parser_spec.rb +34 -44
  24. data/spec/inversion/renderstate_spec.rb +123 -69
  25. data/spec/inversion/sinatra_spec.rb +6 -19
  26. data/spec/inversion/template/attrtag_spec.rb +56 -76
  27. data/spec/inversion/template/begintag_spec.rb +24 -41
  28. data/spec/inversion/template/calltag_spec.rb +1 -18
  29. data/spec/inversion/template/codetag_spec.rb +6 -24
  30. data/spec/inversion/template/commenttag_spec.rb +9 -27
  31. data/spec/inversion/template/configtag_spec.rb +5 -16
  32. data/spec/inversion/template/containertag_spec.rb +4 -21
  33. data/spec/inversion/template/defaulttag_spec.rb +6 -23
  34. data/spec/inversion/template/elsetag_spec.rb +9 -26
  35. data/spec/inversion/template/elsiftag_spec.rb +7 -24
  36. data/spec/inversion/template/endtag_spec.rb +6 -23
  37. data/spec/inversion/template/escapetag_spec.rb +10 -25
  38. data/spec/inversion/template/fortag_spec.rb +20 -37
  39. data/spec/inversion/template/fragmenttag_spec.rb +40 -0
  40. data/spec/inversion/template/iftag_spec.rb +23 -40
  41. data/spec/inversion/template/importtag_spec.rb +8 -25
  42. data/spec/inversion/template/includetag_spec.rb +27 -42
  43. data/spec/inversion/template/node_spec.rb +6 -15
  44. data/spec/inversion/template/pptag_spec.rb +10 -23
  45. data/spec/inversion/template/publishtag_spec.rb +4 -21
  46. data/spec/inversion/template/rescuetag_spec.rb +12 -29
  47. data/spec/inversion/template/subscribetag_spec.rb +8 -25
  48. data/spec/inversion/template/tag_spec.rb +24 -37
  49. data/spec/inversion/template/textnode_spec.rb +8 -24
  50. data/spec/inversion/template/timedeltatag_spec.rb +31 -43
  51. data/spec/inversion/template/unlesstag_spec.rb +7 -24
  52. data/spec/inversion/template/uriencodetag_spec.rb +6 -23
  53. data/spec/inversion/template/yieldtag_spec.rb +3 -20
  54. data/spec/inversion/template_spec.rb +155 -108
  55. data/spec/inversion/tilt_spec.rb +7 -16
  56. data/spec/inversion_spec.rb +7 -22
  57. metadata +63 -40
  58. metadata.gz.sig +0 -0
  59. data/spec/lib/constants.rb +0 -9
@@ -1,37 +1,20 @@
1
1
  #!/usr/bin/env rspec -cfd -b
2
2
  # vim: set noet nosta sw=4 ts=4 :
3
3
 
4
- BEGIN {
5
- require 'pathname'
6
- basedir = Pathname( __FILE__ ).dirname.parent.parent.parent
7
- libdir = basedir + 'lib'
4
+ require_relative '../../helpers'
8
5
 
9
- $LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
10
- $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
11
- }
12
-
13
- require 'rspec'
14
- require 'spec/lib/helpers'
15
6
  require 'inversion/template/importtag'
16
7
 
17
8
  describe Inversion::Template::ImportTag do
18
9
 
19
- before( :all ) do
20
- setup_logging( :fatal )
21
- end
22
-
23
- after( :all ) do
24
- reset_logging()
25
- end
26
-
27
10
  it "can import a single attribute" do
28
11
  tag = Inversion::Template::ImportTag.new( 'txn ' )
29
- tag.attributes.should == [ :txn ]
12
+ expect( tag.attributes ).to eq( [ :txn ] )
30
13
  end
31
14
 
32
15
  it "can import multiple attributes" do
33
16
  tag = Inversion::Template::ImportTag.new( 'txn, applet' )
34
- tag.attributes.should == [ :txn, :applet ]
17
+ expect( tag.attributes ).to eq( [ :txn, :applet ] )
35
18
  end
36
19
 
37
20
 
@@ -46,7 +29,7 @@ describe Inversion::Template::ImportTag do
46
29
  outside.subtemplate = @subtemplate
47
30
  outside.foo = 'Froo'
48
31
 
49
- outside.render.should == 'FrooFroo'
32
+ expect( outside.render ).to eq( 'FrooFroo' )
50
33
  end
51
34
 
52
35
  it "doesn't override values set explicitly on the subtemplate" do
@@ -56,7 +39,7 @@ describe Inversion::Template::ImportTag do
56
39
 
57
40
  @subtemplate.foo = 'Frar'
58
41
 
59
- outside.render.should == 'FrooFrar'
42
+ expect( outside.render ).to eq( 'FrooFrar' )
60
43
  end
61
44
 
62
45
  end
@@ -76,7 +59,7 @@ describe Inversion::Template::ImportTag do
76
59
  outside.foo = 'mission'
77
60
  outside.bar = 'accomplished'
78
61
 
79
- outside.render.should == 'Mission: Accomplished'
62
+ expect( outside.render ).to eq( 'Mission: Accomplished' )
80
63
  end
81
64
 
82
65
  it "doesn't override values set explicitly on the subtemplate" do
@@ -87,7 +70,7 @@ describe Inversion::Template::ImportTag do
87
70
 
88
71
  @subtemplate.bar = 'abandoned'
89
72
 
90
- outside.render.should == 'Mission: Abandoned'
73
+ expect( outside.render ).to eq( 'Mission: Abandoned' )
91
74
  end
92
75
 
93
76
  it "only imports listed attributes" do
@@ -97,7 +80,7 @@ describe Inversion::Template::ImportTag do
97
80
  outside.bar = 'Just This One'
98
81
  outside.baz = 'And Not This One'
99
82
 
100
- outside.render.should == 'Attributes: Just this one'
83
+ expect( outside.render ).to eq( 'Attributes: Just this one' )
101
84
  end
102
85
  end
103
86
 
@@ -1,82 +1,67 @@
1
1
  #!/usr/bin/env rspec -cfd -b
2
2
  # vim: set noet nosta sw=4 ts=4 :
3
3
 
4
- BEGIN {
5
- require 'pathname'
6
- basedir = Pathname( __FILE__ ).dirname.parent.parent.parent
7
- libdir = basedir + 'lib'
8
-
9
- $LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
10
- $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
11
- }
4
+ require_relative '../../helpers'
12
5
 
13
6
  require 'timeout'
14
- require 'rspec'
15
- require 'spec/lib/helpers'
16
7
  require 'inversion/template'
17
8
  require 'inversion/template/includetag'
18
9
 
19
10
  describe Inversion::Template::IncludeTag do
20
11
 
21
- before( :all ) do
22
- setup_logging( :fatal )
23
- end
24
-
25
- after( :all ) do
26
- reset_logging()
27
- end
28
-
29
12
 
30
13
  it "renders the IncludeTag as an empty string" do
31
14
  included_path = Pathname.pwd + 'included.tmpl'
32
- FileTest.stub( :exist? ).with( included_path.to_s ).and_return true
33
- IO.stub( :read ).with( included_path.to_s ).and_return( 'there,' )
15
+ expect( FileTest ).to receive( :exist? ).with( included_path.to_s ).and_return( true )
16
+ expect( IO ).to receive( :read ).with( included_path.to_s ).and_return( 'there,' )
34
17
 
35
18
  tmpl = Inversion::Template.new( "hi <?include included.tmpl ?> handsome!" )
36
- tmpl.render.should == "hi there, handsome!"
19
+ expect( tmpl.render ).to eq( "hi there, handsome!" )
37
20
  end
38
21
 
39
22
 
40
23
  it "renders debugging comments with the included template path" do
41
24
  included_path = Pathname.pwd + 'included.tmpl'
42
- FileTest.stub( :exist? ).with( included_path.to_s ).and_return true
43
- IO.stub( :read ).with( included_path.to_s ).and_return( 'there,' )
25
+ expect( FileTest ).to receive( :exist? ).with( included_path.to_s ).and_return( true )
26
+ expect( IO ).to receive( :read ).with( included_path.to_s ).and_return( 'there,' )
44
27
 
45
28
  tmpl = Inversion::Template.
46
29
  new( "hi <?include included.tmpl ?> handsome!", :debugging_comments => true )
47
- tmpl.render.should =~ /Include "included\.tmpl"/
30
+ expect( tmpl.render ).to match( /Include "included\.tmpl"/ )
48
31
  end
49
32
 
50
33
 
51
34
  it "appends the nodes from a separate template onto the including template" do
52
35
  included_path = Pathname.pwd + 'included.tmpl'
53
- FileTest.stub( :exist? ).with( included_path.to_s ).and_return true
54
- IO.stub( :read ).with( included_path.to_s ).and_return( 'there,' )
36
+ expect( FileTest ).to receive( :exist? ).with( included_path.to_s ).and_return( true )
37
+ expect( IO ).to receive( :read ).with( included_path.to_s ).and_return( 'there,' )
55
38
 
56
39
  tmpl = Inversion::Template.new( "hi <?include included.tmpl ?> handsome!" )
57
- tmpl.node_tree.should have(4).members
58
- tmpl.node_tree[0].should be_a( Inversion::Template::TextNode )
59
- tmpl.node_tree[1].should be_a( Inversion::Template::IncludeTag )
60
- tmpl.node_tree[2].should be_a( Inversion::Template::TextNode )
61
- tmpl.node_tree[3].should be_a( Inversion::Template::TextNode )
40
+ expect( tmpl.node_tree.size ).to eq( 4 )
41
+ expect( tmpl.node_tree[0] ).to be_a( Inversion::Template::TextNode )
42
+ expect( tmpl.node_tree[1] ).to be_a( Inversion::Template::IncludeTag )
43
+ expect( tmpl.node_tree[2] ).to be_a( Inversion::Template::TextNode )
44
+ expect( tmpl.node_tree[3] ).to be_a( Inversion::Template::TextNode )
62
45
  end
63
46
 
64
47
 
65
48
  it "allows the same template to be included multiple times" do
66
49
  included_path = Pathname.pwd + 'included.tmpl'
67
- FileTest.stub( :exist? ).with( included_path.to_s ).and_return true
68
- IO.stub( :read ).with( included_path.to_s ).and_return( ' hi' )
50
+ expect( FileTest ).to receive( :exist? ).
51
+ with( included_path.to_s ).twice.and_return( true )
52
+ expect( IO ).to receive( :read ).
53
+ with( included_path.to_s ).twice.and_return( ' hi' )
69
54
 
70
55
  tmpl = Inversion::Template.
71
56
  new( "hi<?include included.tmpl ?><?include included.tmpl ?> handsome!" )
72
- tmpl.render.should == "hi hi hi handsome!"
57
+ expect( tmpl.render ).to eq( "hi hi hi handsome!" )
73
58
  end
74
59
 
75
60
 
76
61
  it "raises exception on include loops" do
77
62
  included_path = Pathname.pwd + 'included.tmpl'
78
- FileTest.stub( :exist? ).with( included_path.to_s ).and_return true
79
- IO.stub( :read ).with( included_path.to_s ).and_return( "<?include included.tmpl ?>" )
63
+ expect( FileTest ).to receive( :exist? ).with( included_path.to_s ).and_return( true )
64
+ expect( IO ).to receive( :read ).with( included_path.to_s ).and_return( "<?include included.tmpl ?>" )
80
65
 
81
66
  expect {
82
67
  Inversion::Template.new( "hi <?include included.tmpl ?> handsome!" )
@@ -89,14 +74,14 @@ describe Inversion::Template::IncludeTag do
89
74
  middle_path = Pathname.pwd + 'middle.tmpl'
90
75
  bottom_path = Pathname.pwd + 'bottom.tmpl'
91
76
 
92
- FileTest.stub( :exist? ).with( top_path.to_s ).and_return true
93
- IO.stub( :read ).with( top_path.to_s ).and_return( "<?include middle.tmpl ?>" )
77
+ expect( FileTest ).to receive( :exist? ).with( top_path.to_s ).and_return( true )
78
+ expect( IO ).to receive( :read ).with( top_path.to_s ).and_return( "<?include middle.tmpl ?>" )
94
79
 
95
- FileTest.stub( :exist? ).with( middle_path.to_s ).and_return true
96
- IO.stub( :read ).with( middle_path.to_s ).and_return( "<?include bottom.tmpl ?>" )
80
+ expect( FileTest ).to receive( :exist? ).with( middle_path.to_s ).and_return( true )
81
+ expect( IO ).to receive( :read ).with( middle_path.to_s ).and_return( "<?include bottom.tmpl ?>" )
97
82
 
98
- FileTest.stub( :exist? ).with( bottom_path.to_s ).and_return true
99
- IO.stub( :read ).with( bottom_path.to_s ).and_return( "<?include top.tmpl ?>" )
83
+ expect( FileTest ).to receive( :exist? ).with( bottom_path.to_s ).and_return( true )
84
+ expect( IO ).to receive( :read ).with( bottom_path.to_s ).and_return( "<?include top.tmpl ?>" )
100
85
 
101
86
  expect {
102
87
  Inversion::Template.new( "hi <?include top.tmpl ?> handsome!" )
@@ -1,17 +1,8 @@
1
1
  #!/usr/bin/env rspec -cfd -b
2
2
  # vim: set noet nosta sw=4 ts=4 :
3
3
 
4
- BEGIN {
5
- require 'pathname'
6
- basedir = Pathname( __FILE__ ).dirname.parent.parent.parent
7
- libdir = basedir + 'lib'
4
+ require_relative '../../helpers'
8
5
 
9
- $LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
10
- $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
11
- }
12
-
13
- require 'rspec'
14
- require 'spec/lib/helpers'
15
6
  require 'inversion/template/node'
16
7
 
17
8
  describe Inversion::Template::Node do
@@ -21,27 +12,27 @@ describe Inversion::Template::Node do
21
12
  it "is an abstract class" do
22
13
  expect {
23
14
  Inversion::Template::Node.new( '' )
24
- }.to raise_exception( NoMethodError, /private method `new'/i )
15
+ }.to raise_error( NoMethodError, /private method `new'/i )
25
16
  end
26
17
 
27
18
  it "defaults to using inspect to render itself as a comment" do
28
19
  node = concrete_subclass.new( '' )
29
- node.as_comment_body.should == node.inspect
20
+ expect( node.as_comment_body ).to eq( node.inspect )
30
21
  end
31
22
 
32
23
  it "isn't a container" do
33
24
  node = concrete_subclass.new( '' )
34
- node.should_not be_a_container()
25
+ expect( node ).to_not be_a_container()
35
26
  end
36
27
 
37
28
  it "knows where it was parsed from if constructed with a position" do
38
29
  node = concrete_subclass.new( '', 4, 12 )
39
- node.location.should =~ /line 4, column 12/
30
+ expect( node.location ).to match( /line 4, column 12/ )
40
31
  end
41
32
 
42
33
  it "knows that it was created from an unknown location if created without a position" do
43
34
  node = concrete_subclass.new( '' )
44
- node.location.should == 'line ??, column ??'
35
+ expect( node.location ).to eq( 'line ??, column ??' )
45
36
  end
46
37
 
47
38
  it "doesn't raise an exception when the before_appending event callback is called" do
@@ -1,31 +1,14 @@
1
1
  #!/usr/bin/env rspec -cfd -b
2
2
  # vim: set noet nosta sw=4 ts=4 :
3
3
 
4
- BEGIN {
5
- require 'pathname'
6
- basedir = Pathname( __FILE__ ).dirname.parent.parent.parent
7
- libdir = basedir + 'lib'
4
+ require_relative '../../helpers'
8
5
 
9
- $LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
10
- $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
11
- }
12
-
13
- require 'rspec'
14
- require 'spec/lib/helpers'
15
6
  require 'inversion/template/pptag'
16
7
 
17
8
  describe Inversion::Template::PpTag do
18
9
 
19
- before( :all ) do
20
- setup_logging( :fatal )
21
- end
22
-
23
- after( :all ) do
24
- reset_logging()
25
- end
26
-
27
10
  before( :each ) do
28
- @attribute_object = mock( "template attribute" )
11
+ @attribute_object = double( "template attribute" )
29
12
  end
30
13
 
31
14
 
@@ -33,19 +16,23 @@ describe Inversion::Template::PpTag do
33
16
  template = Inversion::Template.
34
17
  new( 'It looks like: <tt><?pp foo.bar ?></tt>.', :escape_format => :none )
35
18
  template.foo = @attribute_object
36
- @attribute_object.should_receive( :bar ).with( no_args() ).
19
+ expect( @attribute_object ).to receive( :bar ).with( no_args ).
37
20
  and_return({ :a_complex => [:datastructure, :or, :something] })
38
21
 
39
- template.render.should == "It looks like: <tt>{:a_complex=>[:datastructure, :or, :something]}</tt>."
22
+ expect(
23
+ template.render
24
+ ).to eq( "It looks like: <tt>{:a_complex=>[:datastructure, :or, :something]}</tt>." )
40
25
  end
41
26
 
42
27
  it "escapes as HTML if the format is set to :html" do
43
28
  template = Inversion::Template.
44
29
  new( 'It looks like: <tt><?pp foo.bar ?></tt>.', :escape_format => :html )
45
30
  template.foo = @attribute_object
46
- @attribute_object.should_receive( :bar ).with( no_args() ).
31
+ expect( @attribute_object ).to receive( :bar ).with( no_args() ).
47
32
  and_return({ :a_complex => [:datastructure, :or, :something] })
48
33
 
49
- template.render.should == "It looks like: <tt>{:a_complex=&gt;[:datastructure, :or, :something]}</tt>."
34
+ expect(
35
+ template.render
36
+ ).to eq( "It looks like: <tt>{:a_complex=&gt;[:datastructure, :or, :something]}</tt>." )
50
37
  end
51
38
  end
@@ -1,17 +1,8 @@
1
1
  #!/usr/bin/env rspec -cfd -b
2
2
  # vim: set noet nosta sw=4 ts=4 :
3
3
 
4
- BEGIN {
5
- require 'pathname'
6
- basedir = Pathname( __FILE__ ).dirname.parent.parent.parent
7
- libdir = basedir + 'lib'
4
+ require_relative '../../helpers'
8
5
 
9
- $LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
10
- $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
11
- }
12
-
13
- require 'rspec'
14
- require 'spec/lib/helpers'
15
6
  require 'inversion/template/publishtag'
16
7
 
17
8
  describe Inversion::Template::PublishTag do
@@ -29,24 +20,16 @@ describe Inversion::Template::PublishTag do
29
20
  end # class TestSubscriber
30
21
 
31
22
 
32
- before( :all ) do
33
- setup_logging( :fatal )
34
- end
35
-
36
- after( :all ) do
37
- reset_logging()
38
- end
39
-
40
23
 
41
24
  it "raises a parse error if the body isn't a simple attribute" do
42
25
  expect {
43
26
  Inversion::Template::PublishTag.new( 'a.non-identifier' )
44
- }.to raise_exception( Inversion::ParseError, /malformed key/i )
27
+ }.to raise_error( Inversion::ParseError, /malformed key/i )
45
28
  end
46
29
 
47
30
 
48
31
  it "doesn't render its contents in the template it's declared in" do
49
- Inversion::Template.new( "<?publish foo ?>Some stuff<?end ?>" ).render.should == ''
32
+ expect( Inversion::Template.new( "<?publish foo ?>Some stuff<?end ?>" ).render ).to eq( '' )
50
33
  end
51
34
 
52
35
 
@@ -61,7 +44,7 @@ describe Inversion::Template::PublishTag do
61
44
 
62
45
  publishtag.render( renderstate )
63
46
 
64
- subscriber.published_nodes.should == [ 'elveses' ]
47
+ expect( subscriber.published_nodes ).to eq( [ 'elveses' ] )
65
48
  end
66
49
 
67
50
  end
@@ -1,17 +1,8 @@
1
1
  #!/usr/bin/env rspec -cfd -b
2
2
  # vim: set noet nosta sw=4 ts=4 :
3
3
 
4
- BEGIN {
5
- require 'pathname'
6
- basedir = Pathname( __FILE__ ).dirname.parent.parent.parent
7
- libdir = basedir + 'lib'
4
+ require_relative '../../helpers'
8
5
 
9
- $LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
10
- $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
11
- }
12
-
13
- require 'rspec'
14
- require 'spec/lib/helpers'
15
6
  require 'inversion/template/begintag'
16
7
  require 'inversion/template/rescuetag'
17
8
  require 'inversion/template/commenttag'
@@ -20,32 +11,24 @@ require 'inversion/renderstate'
20
11
 
21
12
  describe Inversion::Template::RescueTag do
22
13
 
23
- before( :all ) do
24
- setup_logging( :fatal )
25
- end
26
-
27
- after( :all ) do
28
- reset_logging()
29
- end
30
-
31
14
  it "handles a non-existant body" do
32
15
  tag = Inversion::Template::RescueTag.new( nil )
33
- tag.exception_types.should == [ ::RuntimeError ]
16
+ expect( tag.exception_types ).to eq( [ ::RuntimeError ] )
34
17
  end
35
18
 
36
19
  it "parses its body into classes" do
37
20
  tag = Inversion::Template::RescueTag.new( 'ScriptError' )
38
- tag.exception_types.should == [ ::ScriptError ]
21
+ expect( tag.exception_types ).to eq( [ ::ScriptError ] )
39
22
  end
40
23
 
41
24
  it "handles fully-qualified class names" do
42
25
  tag = Inversion::Template::RescueTag.new( '::ScriptError' )
43
- tag.exception_types.should == [ ::ScriptError ]
26
+ expect( tag.exception_types ).to eq( [ ::ScriptError ] )
44
27
  end
45
28
 
46
29
  it "can parse multiple exception class names" do
47
30
  tag = Inversion::Template::RescueTag.new( '::ScriptError, Inversion::ParseError' )
48
- tag.exception_types.should == [ ::ScriptError, Inversion::ParseError ]
31
+ expect( tag.exception_types ).to eq( [ ::ScriptError, Inversion::ParseError ] )
49
32
  end
50
33
 
51
34
  it "can be appended to a 'begin' tag" do
@@ -58,8 +41,8 @@ describe Inversion::Template::RescueTag do
58
41
 
59
42
  parserstate << begintag << rescuetag << textnode << endtag
60
43
 
61
- parserstate.tree.should == [ begintag, endtag ]
62
- begintag.rescue_clauses.should == [ [[::RuntimeError], [textnode]] ]
44
+ expect( parserstate.tree ).to eq( [ begintag, endtag ] )
45
+ expect( begintag.rescue_clauses ).to eq( [ [[::RuntimeError], [textnode]] ] )
63
46
  end
64
47
 
65
48
  it "can be appended to a 'comment' tag" do
@@ -71,8 +54,8 @@ describe Inversion::Template::RescueTag do
71
54
 
72
55
  parserstate << commenttag << rescuetag << endtag
73
56
 
74
- parserstate.tree.should == [ commenttag, endtag ]
75
- commenttag.subnodes.should include( rescuetag )
57
+ expect( parserstate.tree ).to eq( [ commenttag, endtag ] )
58
+ expect( commenttag.subnodes ).to include( rescuetag )
76
59
  end
77
60
 
78
61
  it "raises an error if it's about to be appended to anything other than a 'begin' or " +
@@ -83,7 +66,7 @@ describe Inversion::Template::RescueTag do
83
66
 
84
67
  expect {
85
68
  parserstate << Inversion::Template::RescueTag.new
86
- }.to raise_exception( Inversion::ParseError, /'for' tags can't have 'rescue' clauses/i )
69
+ }.to raise_error( Inversion::ParseError, /'for' tags can't have 'rescue' clauses/i )
87
70
  end
88
71
 
89
72
 
@@ -93,14 +76,14 @@ describe Inversion::Template::RescueTag do
93
76
 
94
77
  expect {
95
78
  parserstate << Inversion::Template::RescueTag.new
96
- }.to raise_exception( Inversion::ParseError, /orphaned 'rescue' tag/i )
79
+ }.to raise_error( Inversion::ParseError, /orphaned 'rescue' tag/i )
97
80
  end
98
81
 
99
82
 
100
83
  it "doesn't render as anything by itself" do
101
84
  renderstate = Inversion::RenderState.new
102
85
  tag = Inversion::Template::RescueTag.new
103
- tag.render( renderstate ).should be_nil()
86
+ expect( tag.render( renderstate ) ).to be_nil()
104
87
  end
105
88
 
106
89
  end