inversion 0.12.3 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,29 +1,12 @@
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/calltag'
16
7
 
17
8
  describe Inversion::Template::CallTag 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
  # Since call is just an alias, the attrtag_spec already tests all of
28
11
  # this.
29
12
 
@@ -1,32 +1,15 @@
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/codetag'
16
7
 
17
8
  describe Inversion::Template::CodeTag 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
 
28
11
  it "is an abstract class" do
29
- Inversion::Template::Tag.should < Inversion::AbstractClass
12
+ expect( Inversion::Template::Tag ).to be < Inversion::AbstractClass
30
13
  end
31
14
 
32
15
 
@@ -37,13 +20,12 @@ describe Inversion::Template::CodeTag do
37
20
  tag_pattern "$(ident)" do |tag, match|
38
21
  :foo
39
22
  end
40
-
41
23
  end
42
24
 
43
- subclass.tag_patterns.should have( 1 ).member
44
- subclass.tag_patterns.first[0].
45
- should be_an_instance_of( Inversion::Template::CodeTag::TokenPattern )
46
- subclass.tag_patterns.first[1].call( :dummy, :king_dummy ).should == :foo
25
+ expect( subclass.tag_patterns.size ).to eq( 1 )
26
+ expect( subclass.tag_patterns.first[0] ).
27
+ to be_an_instance_of( Inversion::Template::CodeTag::TokenPattern )
28
+ expect( subclass.tag_patterns.first[1].call(:dummy, :king_dummy) ).to eq( :foo )
47
29
  end
48
30
 
49
31
  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/commenttag'
16
7
  require 'inversion/template/attrtag'
17
8
  require 'inversion/template/textnode'
@@ -19,25 +10,16 @@ require 'inversion/renderstate'
19
10
 
20
11
  describe Inversion::Template::CommentTag do
21
12
 
22
- before( :all ) do
23
- setup_logging( :fatal )
24
- end
25
-
26
- after( :all ) do
27
- reset_logging()
28
- end
29
-
30
-
31
13
  it "allows any free-form text in its body" do
32
14
  # <?comment Disabled for now ?>...<?end?>
33
- Inversion::Template::CommentTag.new( 'Disabled for now' ).
34
- should be_a( Inversion::Template::CommentTag )
15
+ expect( Inversion::Template::CommentTag.new('Disabled for now') ).
16
+ to be_a( Inversion::Template::CommentTag )
35
17
  end
36
18
 
37
19
  it "allows an empty body" do
38
20
  # <?comment ?>...<?end?>
39
- Inversion::Template::CommentTag.new( '' ).
40
- should be_a( Inversion::Template::CommentTag )
21
+ expect( Inversion::Template::CommentTag.new('') ).
22
+ to be_a( Inversion::Template::CommentTag )
41
23
  end
42
24
 
43
25
 
@@ -49,7 +31,7 @@ describe Inversion::Template::CommentTag do
49
31
  tag << Inversion::Template::AttrTag.new( 'foo', 1, 9 )
50
32
  tag << Inversion::Template::TextNode.new( ' -', 1, 12 )
51
33
 
52
- tag.as_comment_body.should == 'Commented out 3 nodes on line 1'
34
+ expect( tag.as_comment_body ).to eq( 'Commented out 3 nodes on line 1' )
53
35
  end
54
36
 
55
37
 
@@ -61,8 +43,8 @@ describe Inversion::Template::CommentTag do
61
43
  tag << Inversion::Template::AttrTag.new( 'foo', 3, 0 )
62
44
  tag << Inversion::Template::TextNode.new( '- ', 4, 0 )
63
45
 
64
- tag.as_comment_body.should == "Commented out 3 nodes from line 2 to 4: " +
65
- "We couldn't have done it without me"
46
+ expect( tag.as_comment_body ).
47
+ to eq( "Commented out 3 nodes from line 2 to 4: We couldn't have done it without me" )
66
48
  end
67
49
 
68
50
 
@@ -75,7 +57,7 @@ describe Inversion::Template::CommentTag do
75
57
  tag << Inversion::Template::AttrTag.new( 'foo' )
76
58
  tag << Inversion::Template::TextNode.new( ' -' )
77
59
 
78
- tag.render( render_state ).should == ''
60
+ expect( tag.render(render_state) ).to eq( '' )
79
61
  end
80
62
 
81
63
  end
@@ -1,29 +1,18 @@
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/configtag'
16
7
 
17
8
  describe Inversion::Template::ConfigTag do
18
9
 
19
10
  before( :all ) do
20
- setup_logging( :fatal )
21
11
  Inversion::Template.template_paths << 'spec/data'
22
12
  end
23
13
 
24
14
  after( :all ) do
25
15
  Inversion::Template.template_paths.delete( 'spec/data' )
26
- reset_logging()
27
16
  end
28
17
 
29
18
 
@@ -31,7 +20,7 @@ describe Inversion::Template::ConfigTag do
31
20
  # <?config comment_end: */ ?>
32
21
  it "can contain a single configuration setting" do
33
22
  tag = Inversion::Template::ConfigTag.new( 'comment_start: /*' )
34
- tag.options.should == { :comment_start => '/*' }
23
+ expect( tag.options ).to eq({ :comment_start => '/*' })
35
24
  end
36
25
 
37
26
  # <?config
@@ -67,13 +56,13 @@ describe Inversion::Template::ConfigTag do
67
56
  tag = Inversion::Template::ConfigTag.new( 'comment_start: /*' )
68
57
  state = Inversion::RenderState.new
69
58
 
70
- expect( tag.render(state) ).to be nil
59
+ expect( tag.render(state) ).to be_nil
71
60
  end
72
61
 
73
62
  it "raises an error on an empty body" do
74
63
  expect {
75
64
  Inversion::Template::ConfigTag.new( '' )
76
- }.to raise_exception( Inversion::ParseError, /empty config settings/i )
65
+ }.to raise_error( Inversion::ParseError, /empty config settings/i )
77
66
  end
78
67
 
79
68
 
@@ -87,7 +76,7 @@ describe Inversion::Template::ConfigTag do
87
76
  TEMPLATE
88
77
  expect {
89
78
  Inversion::Template.new( source, :ignore_unknown_tags => true )
90
- }.to raise_exception( Inversion::ParseError, /unknown tag "what"/i )
79
+ }.to raise_error( Inversion::ParseError, /unknown tag "what"/i )
91
80
  end
92
81
 
93
82
  it "can turn on debugging comments in rendered output" do
@@ -1,29 +1,12 @@
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/containertag'
16
7
 
17
8
  describe Inversion::Template::ContainerTag 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
  context "instances of including classes" do
28
11
 
29
12
  before( :each ) do
@@ -34,17 +17,17 @@ describe Inversion::Template::ContainerTag do
34
17
  end
35
18
 
36
19
  it "are container tags" do
37
- @tag.should be_a_container()
20
+ expect( @tag ).to be_a_container()
38
21
  end
39
22
 
40
23
  it "contain a subnodes array" do
41
- @tag.subnodes.should be_an( Array )
24
+ expect( @tag.subnodes ).to be_an( Array )
42
25
  end
43
26
 
44
27
  it "can have other nodes appended to them" do
45
28
  other_node = Inversion::Template::TextNode.new( "foom" )
46
29
  @tag << other_node
47
- @tag.subnodes.should include( other_node )
30
+ expect( @tag.subnodes ).to include( other_node )
48
31
  end
49
32
 
50
33
  end
@@ -1,58 +1,41 @@
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/defaulttag'
16
7
 
17
8
  describe Inversion::Template::DefaultTag 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
 
28
11
  it "sets a template attribute to a default value" do
29
12
  tmpl = Inversion::Template.new( '<?default foo to 11883 ?><?attr foo ?>' )
30
- tmpl.render.should == '11883'
13
+ expect( tmpl.render ).to eq( '11883' )
31
14
  end
32
15
 
33
16
  it "doesn't override a value set on the template as an attribute" do
34
17
  tmpl = Inversion::Template.new( '<?default foo to 11883 ?><?attr foo ?>' )
35
18
  tmpl.foo = 'bar'
36
- tmpl.render.should == 'bar'
19
+ expect( tmpl.render ).to eq( 'bar' )
37
20
  end
38
21
 
39
22
  it "can set a template attribute to the result of calling a methodchain" do
40
23
  tmpl = Inversion::Template.
41
24
  new( '<?default width to foo.length ?><?attr foo ?>:<?attr width ?>' )
42
25
  tmpl.foo = 'bar'
43
- tmpl.render.should == 'bar:3'
26
+ expect( tmpl.render ).to eq( 'bar:3' )
44
27
  end
45
28
 
46
29
  it "can format the default value" do
47
30
  tmpl = Inversion::Template.
48
31
  new( '<?default width to "[%02d]" % [ foo.length ] ?><?attr foo ?>:<?attr width ?>' )
49
32
  tmpl.foo = 'bar'
50
- tmpl.render.should == 'bar:[03]'
33
+ expect( tmpl.render ).to eq( 'bar:[03]' )
51
34
  end
52
35
 
53
36
  it "can render itself as a comment for template debugging" do
54
37
  tag = Inversion::Template::DefaultTag.new( 'width to foo.length' )
55
- tag.as_comment_body.should == "Default 'width': { template.foo.length }"
38
+ expect( tag.as_comment_body ).to eq( "Default 'width': { template.foo.length }" )
56
39
  end
57
40
 
58
41
  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/iftag'
16
7
  require 'inversion/template/elsetag'
17
8
  require 'inversion/template/unlesstag'
@@ -21,14 +12,6 @@ require 'inversion/renderstate'
21
12
 
22
13
  describe Inversion::Template::ElseTag do
23
14
 
24
- before( :all ) do
25
- setup_logging( :fatal )
26
- end
27
-
28
- after( :all ) do
29
- reset_logging()
30
- end
31
-
32
15
  it "handles a non-existant body" do
33
16
  Inversion::Template::ElseTag.new( nil )
34
17
  end
@@ -42,7 +25,7 @@ describe Inversion::Template::ElseTag do
42
25
 
43
26
  parserstate << iftag << elsetag << endtag
44
27
 
45
- parserstate.tree.should == [ iftag, endtag ]
28
+ expect( parserstate.tree ).to eq( [ iftag, endtag ] )
46
29
  end
47
30
 
48
31
  it "can be appended to an 'unless' tag" do
@@ -54,8 +37,8 @@ describe Inversion::Template::ElseTag do
54
37
 
55
38
  parserstate << unlesstag << elsetag << endtag
56
39
 
57
- parserstate.tree.should == [ unlesstag, endtag ]
58
- unlesstag.subnodes.should include( elsetag )
40
+ expect( parserstate.tree ).to eq( [ unlesstag, endtag ] )
41
+ expect( unlesstag.subnodes ).to include( elsetag )
59
42
  end
60
43
 
61
44
  it "can be appended to a 'comment' tag" do
@@ -67,8 +50,8 @@ describe Inversion::Template::ElseTag do
67
50
 
68
51
  parserstate << commenttag << elsetag << endtag
69
52
 
70
- parserstate.tree.should == [ commenttag, endtag ]
71
- commenttag.subnodes.should include( elsetag )
53
+ expect( parserstate.tree ).to eq( [ commenttag, endtag ] )
54
+ expect( commenttag.subnodes ).to include( elsetag )
72
55
  end
73
56
 
74
57
  it "raises an error if it's about to be appended to anything other than an 'if', 'unless', " +
@@ -79,7 +62,7 @@ describe Inversion::Template::ElseTag do
79
62
 
80
63
  expect {
81
64
  parserstate << Inversion::Template::ElseTag.new
82
- }.to raise_exception( Inversion::ParseError, /'for' tags can't have 'else' clauses/i )
65
+ }.to raise_error( Inversion::ParseError, /'for' tags can't have 'else' clauses/i )
83
66
  end
84
67
 
85
68
 
@@ -89,14 +72,14 @@ describe Inversion::Template::ElseTag do
89
72
 
90
73
  expect {
91
74
  parserstate << Inversion::Template::ElseTag.new
92
- }.to raise_exception( Inversion::ParseError, /orphaned 'else' tag/i )
75
+ }.to raise_error( Inversion::ParseError, /orphaned 'else' tag/i )
93
76
  end
94
77
 
95
78
 
96
79
  it "doesn't render as anything by itself" do
97
80
  renderstate = Inversion::RenderState.new
98
81
  tag = Inversion::Template::ElseTag.new
99
- tag.render( renderstate ).should be_nil()
82
+ expect( tag.render(renderstate) ).to be_nil()
100
83
  end
101
84
 
102
85
  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/iftag'
16
7
  require 'inversion/template/elsiftag'
17
8
  require 'inversion/template/unlesstag'
@@ -20,14 +11,6 @@ require 'inversion/renderstate'
20
11
 
21
12
  describe Inversion::Template::ElsifTag 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
 
32
15
  it "can be appended to an 'if' tag" do
33
16
  template = double( "template object" )
@@ -38,7 +21,7 @@ describe Inversion::Template::ElsifTag do
38
21
 
39
22
  parserstate << iftag << elsetag << endtag
40
23
 
41
- parserstate.tree.should == [ iftag, endtag ]
24
+ expect( parserstate.tree ).to eq( [ iftag, endtag ] )
42
25
  end
43
26
 
44
27
  it "can be appended to a 'comment' tag" do
@@ -50,8 +33,8 @@ describe Inversion::Template::ElsifTag do
50
33
 
51
34
  parserstate << commenttag << elsetag << endtag
52
35
 
53
- parserstate.tree.should == [ commenttag, endtag ]
54
- commenttag.subnodes.should include( elsetag )
36
+ expect( parserstate.tree ).to eq( [ commenttag, endtag ] )
37
+ expect( commenttag.subnodes ).to include( elsetag )
55
38
  end
56
39
 
57
40
  it "raises an error if it's about to be appended to anything other than an 'if' or 'comment' tag" do
@@ -61,7 +44,7 @@ describe Inversion::Template::ElsifTag do
61
44
 
62
45
  expect {
63
46
  parserstate << Inversion::Template::ElsifTag.new( 'bar' )
64
- }.to raise_exception( Inversion::ParseError, /'unless' tags can't have 'elsif' clauses/i )
47
+ }.to raise_error( Inversion::ParseError, /'unless' tags can't have 'elsif' clauses/i )
65
48
  end
66
49
 
67
50
 
@@ -71,14 +54,14 @@ describe Inversion::Template::ElsifTag do
71
54
 
72
55
  expect {
73
56
  parserstate << Inversion::Template::ElsifTag.new( 'bar' )
74
- }.to raise_exception( Inversion::ParseError, /orphaned 'elsif' tag/i )
57
+ }.to raise_error( Inversion::ParseError, /orphaned 'elsif' tag/i )
75
58
  end
76
59
 
77
60
 
78
61
  it "renders as its attribute value if it's a simple attribute" do
79
62
  renderstate = Inversion::RenderState.new( :bar => :the_attribute_value )
80
63
  tag = Inversion::Template::ElsifTag.new( 'bar' )
81
- tag.evaluate( renderstate ).should == :the_attribute_value
64
+ expect( tag.evaluate( renderstate ) ).to eq( :the_attribute_value )
82
65
  end
83
66
 
84
67
  end