blob: c153ebef7cbed1d5792b1056005f144841f617db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# 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
|