test/argument_inspector_test.rb in boson-0.2.3 vs test/argument_inspector_test.rb in boson-0.2.4

- old
+ new

@@ -1,66 +1,62 @@ require File.join(File.dirname(__FILE__), 'test_helper') -module Boson - class ArgumentInspectorTest < Test::Unit::TestCase - context "scrape_with_text" do - def args_from(file_string) - ArgumentInspector.scrape_with_text(file_string, "blah") - end +describe "scrape_with_text" do + def args_from(file_string) + ArgumentInspector.scrape_with_text(file_string, "blah") + end - test "parses arguments of class method" do - args_from(" def YAML.blah( filepath )\n").should == [['filepath']] - end + it "parses arguments of class method" do + args_from(" def YAML.blah( filepath )\n").should == [['filepath']] + end - test "parses arguments with no spacing" do - args_from("def bong; end\ndef blah(arg1,arg2='val2')\nend").should == [["arg1"], ['arg2', "'val2'"]] - end + it "parses arguments with no spacing" do + args_from("def bong; end\ndef blah(arg1,arg2='val2')\nend").should == [["arg1"], ['arg2', "'val2'"]] + end - test "parses arguments with spacing" do - args_from("\t def blah( arg1=val1, arg2 = val2)").should == [["arg1","val1"], ["arg2", "val2"]] - end + it "parses arguments with spacing" do + args_from("\t def blah( arg1=val1, arg2 = val2)").should == [["arg1","val1"], ["arg2", "val2"]] + end - test "parses arguments without parenthesis" do - args_from(" def blah arg1, arg2, arg3={}").should == [['arg1'], ['arg2'], ['arg3','{}']] - end - end + it "parses arguments without parenthesis" do + args_from(" def blah arg1, arg2, arg3={}").should == [['arg1'], ['arg2'], ['arg3','{}']] + end +end - context "scrape_with_eval" do - def args_from(string) - # methods need options to have their args parsed with ArgumentInspector - string.gsub!(/(def blah)/, 'options :a=>1; \1') - Inspector.enable - ::Boson::Commands::Aaa.module_eval(string) - Inspector.disable - MethodInspector.store[:args]['blah'] - end +describe "scrape_with_eval" do + def args_from(string) + # methods need options to have their args parsed with ArgumentInspector + string.gsub!(/(def blah)/, 'options :a=>1; \1') + Inspector.enable + ::Boson::Commands::Aaa.module_eval(string) + Inspector.disable + MethodInspector.store[:args]['blah'] + end - before(:all) { eval "module ::Boson::Commands::Aaa; end"; } - before(:each) { MethodInspector.mod_store[::Boson::Commands::Aaa] = {} } + before_all { eval "module ::Boson::Commands::Aaa; end"; } + before { MethodInspector.mod_store[::Boson::Commands::Aaa] = {} } - test "determines arguments with literal defaults" do - args_from("def blah(arg1,arg2='val2'); end").should == [['arg1'], ['arg2','val2']] - end + it "determines arguments with literal defaults" do + args_from("def blah(arg1,arg2='val2'); end").should == [['arg1'], ['arg2','val2']] + end - test "determines splat arguments" do - args_from("def blah(arg1, *args); end").should == [['arg1'], ["*args"]] - end + it "determines splat arguments" do + args_from("def blah(arg1, *args); end").should == [['arg1'], ["*args"]] + end - test "determines arguments with local values before a method" do - body = "AWESOME='awesome'; def sweet; 'ok'; end; def blah(arg1=AWESOME, arg2=sweet); end" - args_from(body).should == [['arg1', 'awesome'], ['arg2', 'ok']] - end + it "determines arguments with local values before a method" do + body = "AWESOME='awesome'; def sweet; 'ok'; end; def blah(arg1=AWESOME, arg2=sweet); end" + args_from(body).should == [['arg1', 'awesome'], ['arg2', 'ok']] + end - test "doesn't get arguments with local values after a method" do - args_from("def blah(arg1=nope) end; def nope; 'nope'; end").should == nil - end + it "doesn't get arguments with local values after a method" do + args_from("def blah(arg1=nope) end; def nope; 'nope'; end").should == nil + end - test "doesn't determine arguments of a private method" do - args_from("private; def blah(arg1,arg2); end").should == nil - end + it "doesn't determine arguments of a private method" do + args_from("private; def blah(arg1,arg2); end").should == nil + end - test "doesn't determine arguments if an error occurs" do - args_from("def blah(arg1,arg2=raise); end").should == nil - end - end + it "doesn't determine arguments if an error occurs" do + args_from("def blah(arg1,arg2=raise); end").should == nil end end \ No newline at end of file