Sha256: bfee5a03f9a3279c8b3cc41cd190e6a29e5b2c0c02b7078c2889f9c06c70285e

Contents?: true

Size: 1.76 KB

Versions: 37

Compression:

Stored size: 1.76 KB

Contents

# should be moved to watir/contrib
# use of modules here is ugly

require 'find'
module Watir
  module CookieManager 

    class Dir
        def Dir.visit(dir = '.', files_first = false, &block)
            if files_first
                paths = []
                Find.find(dir) { |path| paths << path }
                paths.reverse_each {|path| yield path}
            else
                Find.find(dir, &block)
            end
        end
        # simulates unix rm -rf command
        def Dir.rm_rf(dir)
            Dir.visit(dir, true) do |path|
                if FileTest.directory?(path)
                    begin
                        Dir.unlink(path)
                    rescue # Security Exception for Content.IE
                    end
                else
                    begin
                        File.unlink(path)
                    rescue #Security exception index.dat etc.
                    end
                end
            end
        end
    end

    class WatirHelper
        #taken from shlObj.h  used in win32 SHGetSpecialFolderLocation
        #define CSIDL_INTERNET_CACHE            0x0020
        #define CSIDL_COOKIES                   0x0021
        #define CSIDL_HISTORY                   0x0022
        COOKIES = 0x0021
        INTERNET_CACHE = 0x0020
        
        def  WatirHelper.getSpecialFolderLocation(specFolderName)
            shell = WIN32OLE.new('Shell.Application')
            folder = shell.Namespace(specFolderName)
            folderItem = folder.Self
            folderPath = folderItem.Path
        end
        def  WatirHelper.deleteSpecialFolderContents(specFolderName)
            Dir.rm_rf(self.getSpecialFolderLocation(specFolderName))
        end
        
    end
  end  
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
watir-3.0.0.rc2 lib/watir/cookiemanager.rb
watir-3.0.0.rc1 lib/watir/cookiemanager.rb
watir-2.0.4 lib/watir/cookiemanager.rb
watir-2.0.3 lib/watir/cookiemanager.rb
watir-2.0.2 lib/watir/cookiemanager.rb
watir-2.0.2.rc1 lib/watir/cookiemanager.rb
watir-2.0.1 lib/watir/cookiemanager.rb
watir-2.0.0 lib/watir/cookiemanager.rb
watir-2.0.0.rc3 lib/watir/cookiemanager.rb
watir-2.0.0.rc2 lib/watir/cookiemanager.rb
watir-1.9.2 lib/watir/cookiemanager.rb
watir-1.9.2.rc1 lib/watir/cookiemanager.rb
watir-1.9.1 lib/watir/cookiemanager.rb
watir-1.9.1.rc1 lib/watir/cookiemanager.rb
watir-1.9.0 lib/watir/cookiemanager.rb
watir-1.9.0.rc7 lib/watir/cookiemanager.rb
watir-1.9.0.rc6 lib/watir/cookiemanager.rb
watir-1.9.0.rc5 lib/watir/cookiemanager.rb
watir-1.9.0.rc4 lib/watir/cookiemanager.rb
watir-1.9.0.rc3 lib/watir/cookiemanager.rb