Sha256: af25e1ffa77ba06ef18a472033cccfc0264ee5c5fcfe1231c14e4fc55574b44d

Contents?: true

Size: 1.7 KB

Versions: 3

Compression:

Stored size: 1.7 KB

Contents

    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

3 entries across 3 versions & 1 rubygems

Version Path
watir-1.5.3 watir/cookiemanager.rb
watir-1.5.4 watir/cookiemanager.rb
watir-1.5.2 watir/cookiemanager.rb