diff options
| -rw-r--r-- | spec/ecore_getopt_spec.rb | 125 | 
1 files changed, 62 insertions, 63 deletions
| diff --git a/spec/ecore_getopt_spec.rb b/spec/ecore_getopt_spec.rb index 10c0894..87c4c33 100644 --- a/spec/ecore_getopt_spec.rb +++ b/spec/ecore_getopt_spec.rb @@ -26,13 +26,15 @@ describe Efl::EcoreGetopt do              :double => FFI::MemoryPointer.new(:double),              :short => FFI::MemoryPointer.new(:short),              :long => FFI::MemoryPointer.new(:long), +            :const => FFI::MemoryPointer.new(:int),              :true => FFI::MemoryPointer.new(:uchar),              :false => FFI::MemoryPointer.new(:uchar),              :choice => FFI::MemoryPointer.new(:pointer),              :count => FFI::MemoryPointer.new(:int),              :callback => FFI::MemoryPointer.new(:int),          } -        @meta = FFI::MemoryPointer.from_string "My pretty metadata" +        @meta1 = FFI::MemoryPointer.from_string "My pretty" +        @meta2 = FFI::MemoryPointer.from_string "My precious"          @cb_data = FFI::MemoryPointer.from_string "cb_data"          #          @p.license 'L', 'license' @@ -45,28 +47,28 @@ describe Efl::EcoreGetopt do          @p.value :boolp, @values[:help]          @p.store_type :int, 'i', 'int', 'store an integer'          @p.value :intp, @values[:int] -        @p.store_meta_type :double, 'd', 'double', 'store an double+meta', @meta +        @p.store_meta_type :double, 'd', 'double', 'store an double+meta', @meta1          @p.value :doublep, @values[:double]          @p.store_def_type :short, 's', 'short', 'store an short+default', 6          @p.value :shortp, @values[:short] -        @p.store_full_type :long, 'l', 'long', 'store a long+full', @meta, :ecore_getopt_desc_arg_requirement_yes, 666 +        @p.store_full_type :long, 'l', 'long', 'store a long+full', @meta2, :ecore_getopt_desc_arg_requirement_yes, 666          @p.value :longp, @values[:long]          @p.store_const 'c', 'const', 'store a constant', 123456 -        @p.value :longp, @values[:long] +        @p.value :intp, @values[:const]          @p.store_true 't', 'true', 'store true'          @p.value :boolp, @values[:false]          @p.store_false 'f', 'false', 'store false'          @p.value :boolp, @values[:true]          @p.choice 'm', 'many', 'store choice', ['ch1','ch2','ch3']          @p.value :strp, @values[:choice] -        # FIXME: uses listp with Eina_List +#        # FIXME: uses listp with Eina_List  #        @p.append 'a', 'append', 'store append', :ecore_getopt_type_int          @p.count 'k', 'count', 'store count'          @p.value :intp, @values[:count]          @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 @@ -77,6 +79,7 @@ describe Efl::EcoreGetopt do          @values[:double].write_double 3.1415926          @values[:short].write_short 9          @values[:long].write_long 666 +        @values[:const].write_int -666          @values[:true].write_uchar 1          @values[:false].write_uchar 0          @values[:choice].write_pointer FFI::Pointer::NULL @@ -169,108 +172,104 @@ describe Efl::EcoreGetopt do              end          end      end -    describe "simple options" do +    describe "simple short 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          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 -        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          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 -        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 -#        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          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 -        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          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 -        end          it "should handle -c" do -            @values[:long].read_long.should eql 666 +            @values[:const].read_int.should eql -666              args = @p.parse ["progname","-c"] -            @values[:long].read_long.should eql 123456 -        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 +            @values[:const].read_int.should eql 123456          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          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 -        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          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 -        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"          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" -        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          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 -        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 +#    describe "simple long options" do +#        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 +#        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 +#        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 +#        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 +#        end +#        it "should handle --const" do +#            @values[:const].read_int.should eql -666 +#            args = @p.parse ["progname","--const"] +#            @values[:const].read_int.should eql 123456 +#        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 +#        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 +#        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" +#        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 +#        end +#        it "should handle --callback" do +#            args = @p.parse ["progname","--callback=my_data"] +#        end +#    end  end | 
