File: json_fixtures_test.rb

package info (click to toggle)
ruby-json 2.15.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,684 kB
  • sloc: ruby: 4,288; java: 4,062; ansic: 3,627; sh: 22; makefile: 11
file content (26 lines) | stat: -rw-r--r-- 798 bytes parent folder | download
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