- $KCODE='SJIS'
- require 'test/unit'
- require 'find'
- require 'fileutils'
- class ListFile
- attr_reader :info
- def all(prefix="SJT",ord="9057")
- #recursive walk this dir. as for network directory,it need to be maped to local disk
- to="H://#{prefix}-#{ord}//納品物//"
- @info={}
- @cm=[]
- @html=[]
- @java=[]
- @view=[]
- @prc=[]
- @js=[]
- return unless FileTest.exist?(to)
- Find.find( to ) do |a|
- next unless FileTest.file?(a)
- [".java",".htm",".sql",".js",".tom"].each{|src|
- if(a=~/#{src}/)
- a=File.basename(a)
- @cm.push(a)
- @html.push(a) if (src==".htm" || src==".html")
- @java.push(a) if (src==".java")
- @js.push(a) if (src==".js")
- #USR_TG01GN.PRC_新提携会員別残高ワーク月末処理.sql
- if (src==".sql")
- if(a=~/USR_/w/w/d/d/w/w/.PRC.*/.sql/)
- @view.push(a)
- else
- @prc.push(a)
- end
- end
- end
- }
- end
- @info["fill"]="true"
- @info["prc"]=@prc
- @info["java"]=@java
- @info["html"]=@html
- @info["js"]=@js
- @info["view"]=@view
- @info["cm"]=@cm
- #puts "prc=#{@prc.size} view= #{@view.size} java=#{@java.size} html=#{@html.size}"
- return @info
- end
- end
- class ListFileTest < Test::Unit::TestCase
- def test_invalidfolder
- l=ListFile.new
- l.all("invalid")
- assert_nil l.info["fill"]
- end
- def test_validfolder
- l=ListFile.new
- l.all("JDT","0027")
- assert_equal 1, l.info["java"].size
- end
- end
Walking a directory tree
最新推荐文章于 2023-03-25 18:42:25 发布