Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 94 additions & 37 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ GIT

GIT
remote: https://github.com/html2rss/html2rss
revision: 528ba933f7bdbb94372c0286c87082b456aa01c8
revision: 762a09c15e5def5897b2d08f0e3c11c023cc9b35
branch: master
specs:
html2rss (0.17.0)
Expand Down Expand Up @@ -47,36 +47,64 @@ GEM
addressable (2.8.9)
public_suffix (>= 2.0.2, < 8.0)
ast (2.4.3)
async (2.38.0)
console (~> 1.29)
fiber-annotation
io-event (~> 1.11)
metrics (~> 0.12)
traces (~> 0.18)
async-http (0.94.2)
async (>= 2.10.2)
async-pool (~> 0.11)
io-endpoint (~> 0.14)
io-stream (~> 0.6)
metrics (~> 0.12)
protocol-http (~> 0.58)
protocol-http1 (~> 0.36)
protocol-http2 (~> 0.22)
protocol-url (~> 0.2)
traces (~> 0.10)
async-pool (0.11.2)
async (>= 2.0)
async-websocket (0.30.0)
async-http (~> 0.76)
protocol-http (~> 0.34)
protocol-rack (~> 0.7)
protocol-websocket (~> 0.17)
base64 (0.3.0)
bigdecimal (3.3.1)
bigdecimal (4.0.1)
brotli (0.8.0)
concurrent-ruby (1.3.6)
console (1.34.3)
fiber-annotation
fiber-local (~> 1.1)
json
crass (1.0.6)
diff-lcs (1.6.2)
dry-configurable (1.3.0)
dry-core (~> 1.1)
zeitwerk (~> 2.6)
dry-core (1.1.0)
dry-core (1.2.0)
concurrent-ruby (~> 1.0)
logger
zeitwerk (~> 2.6)
dry-inflector (1.2.0)
dry-inflector (1.3.1)
dry-initializer (3.2.0)
dry-logic (1.6.0)
bigdecimal
concurrent-ruby (~> 1.0)
dry-core (~> 1.1)
zeitwerk (~> 2.6)
dry-schema (1.14.1)
dry-schema (1.16.0)
concurrent-ruby (~> 1.0)
dry-configurable (~> 1.0, >= 1.0.1)
dry-core (~> 1.1)
dry-initializer (~> 3.2)
dry-logic (~> 1.5)
dry-types (~> 1.8)
dry-logic (~> 1.6)
dry-types (~> 1.9, >= 1.9.1)
zeitwerk (~> 2.6)
dry-types (1.8.3)
bigdecimal (~> 3.0)
dry-types (1.9.1)
bigdecimal (>= 3.0)
concurrent-ruby (~> 1.0)
dry-core (~> 1.0)
dry-inflector (~> 1.0)
Expand All @@ -99,81 +127,113 @@ GEM
zlib (~> 3.0)
faraday-net_http (3.4.2)
net-http (~> 0.5)
hashie (5.0.0)
fiber-annotation (0.2.0)
fiber-local (1.1.0)
fiber-storage
fiber-storage (1.0.1)
hashie (5.1.0)
logger
htmlbeautifier (1.4.3)
io-endpoint (0.17.2)
io-event (1.14.4)
io-stream (0.11.1)
json (2.19.1)
json-schema (6.2.0)
addressable (~> 2.8)
bigdecimal (>= 3.1, < 5)
kramdown (2.5.2)
rexml (>= 3.4.4)
language_server-protocol (3.17.0.5)
lint_roller (1.1.0)
logger (1.7.0)
mcp (0.8.0)
json-schema (>= 4.1)
metrics (0.15.0)
mime-types (3.7.0)
logger
mime-types-data (~> 3.2025, >= 3.2025.0507)
mime-types-data (3.2026.0303)
net-http (0.9.1)
uri (>= 0.11.1)
nokogiri (1.18.8-arm64-darwin)
nokogiri (1.19.1-arm64-darwin)
racc (~> 1.4)
nokogiri (1.18.8-x86_64-darwin)
nokogiri (1.19.1-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.18.8-x86_64-linux-gnu)
nokogiri (1.19.1-x86_64-linux-gnu)
racc (~> 1.4)
parallel (1.27.0)
parser (3.3.8.0)
parser (3.3.10.2)
ast (~> 2.4.1)
racc
pastel (0.8.0)
tty-color (~> 0.5)
prism (1.4.0)
public_suffix (6.0.2)
puppeteer-ruby (0.45.6)
concurrent-ruby (>= 1.1, < 1.4)
prism (1.9.0)
protocol-hpack (1.5.1)
protocol-http (0.60.0)
protocol-http1 (0.37.0)
protocol-http (~> 0.58)
protocol-http2 (0.24.0)
protocol-hpack (~> 1.4)
protocol-http (~> 0.47)
protocol-rack (0.21.1)
io-stream (>= 0.10)
protocol-http (~> 0.58)
rack (>= 1.0)
protocol-url (0.4.0)
protocol-websocket (0.20.2)
protocol-http (~> 0.2)
public_suffix (7.0.5)
puppeteer-ruby (0.51.0)
async (>= 2.35.1, < 3.0)
async-http (>= 0.60, < 1.0)
async-websocket (>= 0.27, < 1.0)
base64
mime-types (>= 3.0)
websocket-driver (>= 0.6.0)
racc (1.8.1)
rack (3.2.5)
rainbow (3.1.1)
regexp_parser (2.11.3)
reverse_markdown (3.0.2)
nokogiri
rexml (3.4.4)
rouge (4.5.2)
rspec (3.13.1)
rouge (4.7.0)
rspec (3.13.2)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.4)
rspec-core (3.13.6)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.5)
rspec-mocks (3.13.8)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.4)
rspec-support (3.13.7)
rss (0.3.2)
rexml
rubocop (1.75.8)
rubocop (1.85.1)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
mcp (~> 0.6)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.44.0, < 2.0)
rubocop-ast (>= 1.49.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.44.1)
rubocop-ast (1.49.0)
parser (>= 3.3.7.2)
prism (~> 1.4)
rubocop-performance (1.25.0)
prism (~> 1.7)
rubocop-performance (1.26.1)
lint_roller (~> 1.1)
rubocop (>= 1.75.0, < 2.0)
rubocop-ast (>= 1.38.0, < 2.0)
rubocop-rspec (3.6.0)
rubocop-ast (>= 1.47.1, < 2.0)
rubocop-rspec (3.9.0)
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
rubocop (~> 1.81)
ruby-progressbar (1.13.0)
sanitize (7.0.0)
crass (~> 1.0.2)
Expand All @@ -184,6 +244,7 @@ GEM
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
thor (1.5.0)
traces (0.18.2)
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-markdown (0.7.2)
Expand All @@ -206,12 +267,8 @@ GEM
unicode-display_width (2.6.0)
unicode_utils (1.4.0)
uri (1.1.1)
websocket-driver (0.8.0)
base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
wisper (2.0.1)
zeitwerk (2.6.18)
zeitwerk (2.7.5)
zlib (3.2.3)

PLATFORMS
Expand Down
7 changes: 0 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,6 @@ test-domain:
fi
bundle exec rspec --example "$(DOMAIN)" spec/html2rss/configs_dynamic_spec.rb

test-debug:
@if [ -z "$(CONFIG)" ]; then \
echo "Usage: make test-debug CONFIG=github.com/releases.yml"; \
exit 1; \
fi
DEBUG_CONFIG=$(CONFIG) bundle exec rspec spec/html2rss/configs_dynamic_spec.rb

# Migration commands
migrate-tests:
bin/migrate_to_dynamic_tests
Expand Down
2 changes: 1 addition & 1 deletion bin/rspec_changed_configs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

changed_files = `git diff --name-only origin/master | grep 'lib/html2rss/configs/.*/.*.yml'`.split("\n")

if changed_files.count.positive?
if changed_files.any?
# Use dynamic test file with environment variable to filter changed configs
config_names = changed_files.map { |file| file.sub('lib/html2rss/configs/', '') }

Expand Down
23 changes: 7 additions & 16 deletions spec/html2rss/configs_dynamic_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,14 @@
end

config_files.each do |config_file|
relative_path = config_file.sub('lib/html2rss/configs/', '')
config_name = relative_path.tr('/', '_').gsub('.yml', '')
domain = relative_path.split('/').first
config_name = config_file.sub('lib/html2rss/configs/', '').tr('/', '_').gsub('.yml', '')
domain = config_file.sub('lib/html2rss/configs/', '').split('/').first

describe "#{relative_path} (#{config_name})", config: config_name, domain: domain do
it_behaves_like 'config.yml', relative_path

# Add debugging hook for specific configs
if ENV['DEBUG_CONFIG'] == relative_path
it 'debugs the config' do
puts "Debugging config: #{relative_path}"
puts "File path: #{config_file}"
puts "Config name: #{config_name}"
puts "Domain: #{domain}"
expect(relative_path).to be_a(String) # Add meaningful expectation
end
end
describe "#{config_file.sub('lib/html2rss/configs/', '')} (#{config_name})",
config: config_name,
domain: domain,
relative_path: config_file.sub('lib/html2rss/configs/', '') do
it_behaves_like 'config.yml', config_file.sub('lib/html2rss/configs/', '')
end
end
end