mirror of
				https://gitea.invidious.io/iv-org/shard-ameba.git
				synced 2024-08-15 00:53:29 +00:00 
			
		
		
		
	Merge pull request #460 from crystal-ameba/fix-issue-459
Make sure we only return files from `GlobUtils#expand` method
This commit is contained in:
		
						commit
						6d03cef6df
					
				
					 2 changed files with 16 additions and 9 deletions
				
			
		|  | @ -1,11 +1,7 @@ | |||
| require "../spec_helper" | ||||
| 
 | ||||
| module Ameba | ||||
|   struct GlobUtilsClass | ||||
|     include GlobUtils | ||||
|   end | ||||
| 
 | ||||
|   subject = GlobUtilsClass.new | ||||
|   subject = GlobUtils | ||||
|   current_file_basename = File.basename(__FILE__) | ||||
|   current_file_path = "spec/ameba/#{current_file_basename}" | ||||
| 
 | ||||
|  | @ -45,6 +41,12 @@ module Ameba | |||
|         subject.expand(["**/#{current_file_basename}", "**/#{current_file_basename}"]) | ||||
|           .should eq [current_file_path] | ||||
|       end | ||||
| 
 | ||||
|       it "does not list folders" do | ||||
|         subject.expand(["**/*"]).each do |path| | ||||
|           fail "#{path.inspect} should be a file" unless File.file?(path) | ||||
|         end | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -1,6 +1,8 @@ | |||
| module Ameba | ||||
|   # Helper module that is utilizes helpers for working with globs. | ||||
|   module GlobUtils | ||||
|     extend self | ||||
| 
 | ||||
|     # Returns all files that match specified globs. | ||||
|     # Globs can have wildcards or be rejected: | ||||
|     # | ||||
|  | @ -20,10 +22,13 @@ module Ameba | |||
|     # expand(["spec/*.cr", "src"]) # => all files in src folder + first level specs | ||||
|     # ``` | ||||
|     def expand(globs) | ||||
|       globs.flat_map do |glob| | ||||
|         glob += "/**/*.cr" if File.directory?(glob) | ||||
|         Dir[glob] | ||||
|       end.uniq! | ||||
|       globs | ||||
|         .flat_map do |glob| | ||||
|           glob += "/**/*.cr" if File.directory?(glob) | ||||
|           Dir[glob] | ||||
|         end | ||||
|         .uniq! | ||||
|         .select! { |path| File.file?(path) } | ||||
|     end | ||||
| 
 | ||||
|     private def rejected_globs(globs) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue