ruby/test/json/json_fixtures_test.rb
2025-01-16 09:01:11 +09:00

26 lines
798 B
Ruby

# frozen_string_literal: true
require_relative 'test_helper'
class JSONFixturesTest < Test::Unit::TestCase
fixtures = File.join(File.dirname(__FILE__), 'fixtures/{fail,pass}*.json')
passed, failed = Dir[fixtures].partition { |f| f['pass'] }
passed.each do |f|
name = File.basename(f).gsub(".", "_")
source = File.read(f)
define_method("test_#{name}") do
assert JSON.parse(source), "Did not pass for fixture '#{File.basename(f)}': #{source.inspect}"
end
end
failed.each do |f|
name = File.basename(f).gsub(".", "_")
source = File.read(f)
define_method("test_#{name}") do
assert_raise(JSON::ParserError, JSON::NestingError,
"Did not fail for fixture '#{name}': #{source.inspect}") do
JSON.parse(source)
end
end
end
end