diff options
| -rw-r--r-- | spec/ecore_getopt_spec.rb | 106 | 
1 files changed, 32 insertions, 74 deletions
| diff --git a/spec/ecore_getopt_spec.rb b/spec/ecore_getopt_spec.rb index 3d0a7c0..10c0894 100644 --- a/spec/ecore_getopt_spec.rb +++ b/spec/ecore_getopt_spec.rb @@ -6,12 +6,14 @@ require 'efl/ecore_getopt'  #  describe Efl::EcoreGetopt do      # -    before(:each) do +    before(:all) do          Efl::Ecore.init          #          @p = Efl::EcoreGetopt::Parser.new :prog =>"Prog", :usage => "Usage", :version => "0.0.0", :copyright => "less", :license => "MIT", :description => "description", :strict => 1 -        def @p.cb parser, desc, string, data, value -            puts parser, desc, string, data, value +        @callback = Proc.new do |parser, desc, string, data, value| +            string.should eql "my_data" +            data.read_string.should eql "cb_data" +            value.read_pointer.read_int.should eql 99              true          end          # @@ -30,20 +32,8 @@ describe Efl::EcoreGetopt do              :count => FFI::MemoryPointer.new(:int),              :callback => FFI::MemoryPointer.new(:int),          } -        [ :license, :copyright, :version, :help ].each do |sym| -            @values[sym].write_char 0 -        end -        @values[:int].write_int 0 -        @values[:double].write_double 3.1415926 -        @values[:short].write_short 9 -        @values[:long].write_long 666 -        @values[:true].write_uchar 1 -        @values[:false].write_uchar 0 -        @values[:choice].write_pointer FFI::Pointer::NULL -        @values[:count].write_int 664 -        @values[:callback].write_int 9          @meta = FFI::MemoryPointer.from_string "My pretty metadata" -        @cb_data = FFI::MemoryPointer.from_string "cb data" +        @cb_data = FFI::MemoryPointer.from_string "cb_data"          #          @p.license 'L', 'license'          @p.value :boolp, @values[:license] @@ -73,17 +63,32 @@ describe Efl::EcoreGetopt do  #        @p.append 'a', 'append', 'store append', :ecore_getopt_type_int          @p.count 'k', 'count', 'store count'          @p.value :intp, @values[:count] -        # FIXME breaks --long ?? -#        @p.callback_args 'b', 'callback', 'callback full', @meta, @p.method(:cb), @cb_data -#        @p.value :intp, @values[:callback] +        @p.callback_args 'b', 'callback', 'callback full', @meta, @callback, @cb_data +        @p.value :intp, @values[:callback]          @p.create -#        puts @p.debug +        puts @p.debug          #      end +    before(:each) do +        [ :license, :copyright, :version, :help ].each do |sym| +            @values[sym].write_char 0 +        end +        @values[:int].write_int 0 +        @values[:double].write_double 3.1415926 +        @values[:short].write_short 9 +        @values[:long].write_long 666 +        @values[:true].write_uchar 1 +        @values[:false].write_uchar 0 +        @values[:choice].write_pointer FFI::Pointer::NULL +        @values[:count].write_int 664 +        @values[:callback].write_int 99 +    end +    after(:all) do +        Efl::Ecore.shutdown +    end      #      describe "license copyright version help" do          it "should handle -L" do -            #              [ :license, :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end @@ -92,10 +97,8 @@ describe Efl::EcoreGetopt do              [ :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end -            Efl::Ecore.shutdown          end          it "should handle --license" do -            #              [ :license, :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end @@ -104,10 +107,8 @@ describe Efl::EcoreGetopt do              [ :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end -            Efl::Ecore.shutdown          end          it "should handle -C" do -            #              [ :license, :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end @@ -116,10 +117,8 @@ describe Efl::EcoreGetopt do              [ :license, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end -            Efl::Ecore.shutdown          end          it "should handle --copyright" do -            #              [ :license, :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end @@ -128,10 +127,8 @@ describe Efl::EcoreGetopt do              [ :license, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end -            Efl::Ecore.shutdown          end          it "should handle -V" do -            #              [ :license, :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end @@ -140,10 +137,8 @@ describe Efl::EcoreGetopt do              [ :license, :copyright, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end -            Efl::Ecore.shutdown          end          it "should handle --version" do -            #              [ :license, :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end @@ -152,10 +147,8 @@ describe Efl::EcoreGetopt do              [ :license, :copyright, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end -            Efl::Ecore.shutdown          end          it "should handle -H" do -            #              [ :license, :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end @@ -164,10 +157,8 @@ describe Efl::EcoreGetopt do              [ :license, :copyright, :version ].each do |sym|                  @values[sym].read_char.should eql 0              end -            Efl::Ecore.shutdown          end          it "should handle --help" do -            #              [ :license, :copyright, :version, :help ].each do |sym|                  @values[sym].read_char.should eql 0              end @@ -176,143 +167,110 @@ describe Efl::EcoreGetopt do              [ :license, :copyright, :version ].each do |sym|                  @values[sym].read_char.should eql 0              end -            Efl::Ecore.shutdown          end      end      describe "simple options" do          it "should handle -i" do -            #              @values[:int].read_int.should eql 0              args = @p.parse ["progname","-i 666"]              @values[:int].read_int.should eql 666 -            Efl::Ecore.shutdown          end          it "should handle --int" do -            #              @values[:int].read_int.should eql 0              args = @p.parse ["progname","--int=666"]              @values[:int].read_int.should eql 666 -            Efl::Ecore.shutdown          end          it "should handle -d" do -            #              @values[:double].read_double.should eql 3.1415926              args = @p.parse ["progname","-d 6.66"]              @values[:double].read_double.should eql 6.66 -            Efl::Ecore.shutdown          end          it "should handle --double" do -            #              @values[:double].read_double.should eql 3.1415926              args = @p.parse ["progname","--double=6.66"]              @values[:double].read_double.should eql 6.66 -            Efl::Ecore.shutdown          end  #        # FIXME : maybe fix ecore  #        it "should handle -s default" do -#            #  #            @values[:short].read_short.should eql 9  #            args = @p.parse ["progname"]  #            @values[:short].read_short.should eql 6 -#            Efl::Ecore.shutdown  #        end          it "should handle -s" do -            #              @values[:short].read_short.should eql 9              args = @p.parse ["progname","-s 125"]              @values[:short].read_short.should eql 125 -            Efl::Ecore.shutdown          end          it "should handle --short" do -            #              @values[:short].read_short.should eql 9              args = @p.parse ["progname","--short=125"]              @values[:short].read_short.should eql 125 -            Efl::Ecore.shutdown          end          it "should handle -l" do -            #              @values[:long].read_long.should eql 666              args = @p.parse ["progname","-l 69"]              @values[:long].read_long.should eql 69 -            Efl::Ecore.shutdown          end          it "should handle --long" do -            #              @values[:long].read_long.should eql 666              args = @p.parse ["progname","--long=69"]              @values[:long].read_long.should eql 69 -            Efl::Ecore.shutdown          end          it "should handle -c" do -            #              @values[:long].read_long.should eql 666              args = @p.parse ["progname","-c"]              @values[:long].read_long.should eql 123456 -            Efl::Ecore.shutdown          end          it "should handle --const" do -            #              @values[:long].read_long.should eql 666              args = @p.parse ["progname","--const"]              @values[:long].read_long.should eql 123456 -            Efl::Ecore.shutdown          end          it "should handle -t" do -            #              @values[:false].read_uchar.should eql 0              args = @p.parse ["progname","-t"]              @values[:false].read_uchar.should eql 1 -            Efl::Ecore.shutdown          end          it "should handle --true" do -            #              @values[:false].read_uchar.should eql 0              args = @p.parse ["progname","--true"]              @values[:false].read_uchar.should eql 1 -            Efl::Ecore.shutdown          end          it "should handle -f" do -            #              @values[:true].read_uchar.should eql 1              args = @p.parse ["progname","-f"]              @values[:true].read_uchar.should eql 0 -            Efl::Ecore.shutdown          end          it "should handle --false" do -            #              @values[:true].read_uchar.should eql 1              args = @p.parse ["progname","--false"]              @values[:true].read_uchar.should eql 0 -            Efl::Ecore.shutdown          end          it "should handle -m" do -            #              @values[:choice].read_pointer.should eql FFI::Pointer::NULL              args = @p.parse ["progname","-mch2"]              @values[:choice].read_pointer.read_string.should eql "ch2" -            Efl::Ecore.shutdown          end          it "should handle --many" do -            #              @values[:choice].read_pointer.should eql FFI::Pointer::NULL              args = @p.parse ["progname","--many=ch3"]              @values[:choice].read_pointer.read_string.should eql "ch3" -            Efl::Ecore.shutdown          end          it "should handle -k" do -            #              @values[:count].read_int.should eql 664              args = @p.parse ["progname","-kk"]              @values[:count].read_int.should eql 666 -            Efl::Ecore.shutdown          end          it "should handle --count" do -            #              @values[:count].read_int.should eql 664              args = @p.parse ["progname","--count","--count"]              @values[:count].read_int.should eql 666 -            Efl::Ecore.shutdown +        end +        it "should handle -b" do +            args = @p.parse ["progname","-bmy_data"] +        end +        it "should handle --callback" do +            args = @p.parse ["progname","-callback=my_data"]          end      end  end | 
