|
21 | 21 | end |
22 | 22 |
|
23 | 23 | describe "#files" do |
24 | | - it "returns files from default_paths when language is missing paths" do |
| 24 | + it "expands patterns for directory includes" do |
25 | 25 | file_list = ::CC::Engine::Analyzers::FileList.new( |
26 | | - engine_config: CC::Engine::Analyzers::EngineConfig.new({}), |
27 | | - default_paths: ["**/*.js", "**/*.jsx"], |
28 | | - language: "javascript", |
| 26 | + engine_config: CC::Engine::Analyzers::EngineConfig.new( |
| 27 | + "include_paths" => ["./"], |
| 28 | + ), |
| 29 | + patterns: ["**/*.js", "**/*.jsx"], |
29 | 30 | ) |
30 | 31 |
|
31 | 32 | expect(file_list.files).to eq(["./foo.js", "./foo.jsx"]) |
32 | 33 | end |
33 | 34 |
|
34 | | - it "returns files from engine config defined paths when present" do |
| 35 | + it "filters file includes by patterns" do |
35 | 36 | file_list = ::CC::Engine::Analyzers::FileList.new( |
36 | | - engine_config: CC::Engine::Analyzers::EngineConfig.new({ |
37 | | - "config" => { |
38 | | - "languages" => { |
39 | | - "elixir" => { |
40 | | - "paths" => ["**/*.ex"] |
41 | | - } |
42 | | - } |
43 | | - } |
44 | | - }), |
45 | | - default_paths: ["**/*.js", "**/*.jsx"], |
46 | | - language: "elixir", |
| 37 | + engine_config: CC::Engine::Analyzers::EngineConfig.new( |
| 38 | + "include_paths" => ["./foo.ex", "./foo.js"], |
| 39 | + ), |
| 40 | + patterns: ["**/*.js", "**/*.jsx"], |
47 | 41 | ) |
48 | 42 |
|
49 | | - expect(file_list.files).to eq(["./foo.ex"]) |
50 | | - end |
51 | | - |
52 | | - it "returns files from default_paths when languages is an array" do |
53 | | - file_list = ::CC::Engine::Analyzers::FileList.new( |
54 | | - engine_config: CC::Engine::Analyzers::EngineConfig.new({ |
55 | | - "config" => { |
56 | | - "languages" => [ |
57 | | - "elixir" |
58 | | - ], |
59 | | - }, |
60 | | - }), |
61 | | - default_paths: ["**/*.js", "**/*.jsx"], |
62 | | - language: "javascript", |
63 | | - ) |
64 | | - |
65 | | - expect(file_list.files).to eq(["./foo.js", "./foo.jsx"]) |
66 | | - end |
67 | | - |
68 | | - it "excludes files not in include_paths" do |
69 | | - file_list = ::CC::Engine::Analyzers::FileList.new( |
70 | | - engine_config: CC::Engine::Analyzers::EngineConfig.new({ |
71 | | - "include_paths" => ["foo.jsx", "nested"], |
72 | | - "config" => { |
73 | | - "languages" => [ |
74 | | - "elixir" |
75 | | - ], |
76 | | - }, |
77 | | - }), |
78 | | - default_paths: ["**/*.js", "**/*.jsx", "**/*.hs"], |
79 | | - language: "javascript", |
80 | | - ) |
81 | | - |
82 | | - expect(file_list.files).to eq(["./foo.jsx", "./nested/nest.hs"]) |
| 43 | + expect(file_list.files).to eq(["./foo.js"]) |
83 | 44 | end |
84 | 45 | end |
85 | 46 | end |
0 commit comments