File: json_ext_parser_test.rb

package info (click to toggle)
ruby-oj 3.16.12-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 14,192 kB
  • sloc: ansic: 19,659; ruby: 11,750; sh: 70; makefile: 17
file content (33 lines) | stat: -rwxr-xr-x 917 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
27
28
29
30
31
32
33
#!/usr/bin/env ruby
# encoding: UTF-8

#frozen_string_literal: false

require 'json_gem/test_helper'

class JSONExtParserTest < Test::Unit::TestCase
  include Test::Unit::TestCaseOmissionSupport

  if defined?(JSON::Ext::Parser)
    if REAL_JSON_GEM && Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.5.0')
      def test_allocate
        parser = JSON::Ext::Parser.new("{}")
        parser.__send__(:initialize, "{}")
        assert_equal "{}", parser.source

        parser = JSON::Ext::Parser.allocate
        assert_nil parser.source
      end
    else
      # Ruby 3.4.x or before
      def test_allocate
        parser = JSON::Ext::Parser.new("{}")
        assert_raise(TypeError, '[ruby-core:35079]') do
          parser.__send__(:initialize, "{}")
        end
        parser = JSON::Ext::Parser.allocate
        assert_raise(TypeError, '[ruby-core:35079]') { parser.source }
      end
    end
  end
end