diff options
| -rw-r--r-- | lib/e17/eet.rb | 17 | ||||
| -rw-r--r-- | spec/eet_spec.rb | 91 | 
2 files changed, 54 insertions, 54 deletions
diff --git a/lib/e17/eet.rb b/lib/e17/eet.rb index 324afee..753588f 100644 --- a/lib/e17/eet.rb +++ b/lib/e17/eet.rb @@ -1,8 +1,7 @@  #! /usr/bin/env ruby  # -*- coding: UTF-8 -*-  # -require 'e17/eet/eet-defs' -require 'e17/eet/eet-funcs' +require 'e17/eet/eet-ffi'  #  module E17      module Eet @@ -11,12 +10,12 @@ module E17              #              def open path, mode=FILE_MODE_READ, &blk                  if blk -                    f = eet_open path, mode +                    f = E17::API.eet_open path, mode                      raise Exception.new "Unable to open file #{path}" if f.nil?                      yield EetFile.new f -                    eet_close f +                    E17::API.eet_close f                  else -                    f = eet_open path, mode +                    f = E17::API.eet_open path, mode                      return EetFile.new f unless f.nil?                  end              end @@ -30,21 +29,21 @@ module E17              private :initialize              #              def close -                Eet.eet_close @ptr +                E17::API.eet_close @ptr                  @ptr=nil              end              #              def mode_get -                Eet.eet_mode_get @ptr +                E17::API.eet_mode_get @ptr              end              #              def write key, data, compress=false -                Eet.eet_write @ptr, key, FFI::MemoryPointer.from_string(data), data.bytesize, ( compress ? 1 : 0 ) +                E17::API.eet_write @ptr, key, FFI::MemoryPointer.from_string(data), data.bytesize, ( compress ? 1 : 0 )              end              #              def read key                  ptr = FFI::MemoryPointer.new(:int) -                data = Eet.eet_read @ptr, key, ptr +                data = E17::API.eet_read @ptr, key, ptr                  s = ptr.read_int                  ptr.free                  return nil if s==0 diff --git a/spec/eet_spec.rb b/spec/eet_spec.rb index 0ba0c40..d45e07c 100644 --- a/spec/eet_spec.rb +++ b/spec/eet_spec.rb @@ -28,24 +28,25 @@ describe E17::Eet do      end      #      it "should have good enums" do -        Eet.enum_type(:eet_file_mode)[:invalid].should eql -1 -        Eet.enum_type(:eet_file_mode)[:read].should eql 0 -        Eet.enum_type(:eet_file_mode)[:write].should eql 1 -        Eet.enum_type(:eet_file_mode)[:read_write].should eql 2 +        E17::API.enum_type(:eet_file_mode)[:eet_file_mode_invalid].should eql -1 +        E17::API.enum_type(:eet_file_mode)[:eet_file_mode_read].should eql 0 +        E17::API.enum_type(:eet_file_mode)[:eet_file_mode_write].should eql 1 +        E17::API.enum_type(:eet_file_mode)[:eet_file_mode_read_write].should eql 2      end      #      it "should open and close" do          Eet.init -        f = Eet.open FP, Eet.enum_type(:eet_file_mode)[:write] +        f = Eet.open FP, E17::API.enum_type(:eet_file_mode)[:eet_file_mode_write]          f.write 'fake', 'value'          f.close          Eet.shutdown      end +    #      it "should be able to get file access mode" do          Eet.init -        Eet.enum_type(:eet_file_mode).symbols.each do |m| -            next if m==:invalid -            Eet.open FP, Eet.enum_type(:eet_file_mode)[m] do |f| +        E17::API.enum_type(:eet_file_mode).symbols.each do |m| +            next if m==:eet_file_mode_invalid +            Eet.open FP, E17::API.enum_type(:eet_file_mode)[m] do |f|                  f.mode_get.should eql m              end          end @@ -54,8 +55,8 @@ describe E17::Eet do      #      it "should write" do          Eet.init -        f = Eet.open FP, :write -        f.mode_get.should eql :write +        f = Eet.open FP, :eet_file_mode_write +        f.mode_get.should eql :eet_file_mode_write          f.write 'config', 'test key'          f.close          Eet.shutdown @@ -63,44 +64,44 @@ describe E17::Eet do      #      it "should read" do          Eet.init -        f = Eet.open FP, :read -        f.mode_get.should eql :read +        f = Eet.open FP, :eet_file_mode_read +        f.mode_get.should eql :eet_file_mode_read          f.read('config').should eql 'test key'          f.close          Eet.shutdown      end      # -#    it "should read/write" do -#        Eet.init -#        f = Eet.open FP, :read_write -#        f.write 'configg', 'test key' -#        f.read('configg').should eql 'test key' -#        f.close -#        Eet.shutdown -#    end -#    # -#    it "should write in block" do -#        Eet.init -#        Eet.open FP, :write do |f| -#            f.write 'config2', 'test--key' -#        end -#        Eet.shutdown -#    end -#    # -#    it "should read in block" do -#        Eet.init -#        Eet.open FP, :read do |f| -#            f.read('config2').should eql 'test--key' -#        end -#        Eet.shutdown -#    end -#    # -#    it "should read/write in block" do -#        Eet.init -#        Eet.open FP, :read_write do |f| -#            f.write 'config22', 'test--key' -#            f.read('config22').should eql 'test--key' -#        end -#        Eet.shutdown -#    end +    it "should read/write" do +        Eet.init +        f = Eet.open FP, :eet_file_mode_read_write +        f.write 'configg', 'test key' +        f.read('configg').should eql 'test key' +        f.close +        Eet.shutdown +    end +    # +    it "should write in block" do +        Eet.init +        Eet.open FP, :eet_file_mode_write do |f| +            f.write 'config2', 'test--key' +        end +        Eet.shutdown +    end +    # +    it "should read in block" do +        Eet.init +        Eet.open FP, :eet_file_mode_read do |f| +            f.read('config2').should eql 'test--key' +        end +        Eet.shutdown +    end +    # +    it "should read/write in block" do +        Eet.init +        Eet.open FP, :eet_file_mode_read_write do |f| +            f.write 'config22', 'test--key' +            f.read('config22').should eql 'test--key' +        end +        Eet.shutdown +    end  end  | 
