Skip to content

Commit

Permalink
Merge a32a569 into 52ba91d
Browse files Browse the repository at this point in the history
  • Loading branch information
notEthan committed Jul 8, 2020
2 parents 52ba91d + a32a569 commit 6dfb111
Show file tree
Hide file tree
Showing 11 changed files with 21 additions and 793 deletions.
3 changes: 0 additions & 3 deletions lib/jsi/json.rb
Expand Up @@ -2,9 +2,6 @@

module JSI
module JSON
autoload :Node, 'jsi/json/node'
autoload :ArrayNode, 'jsi/json/node'
autoload :HashNode, 'jsi/json/node'
autoload :Pointer, 'jsi/json/pointer'
end
end
203 changes: 0 additions & 203 deletions lib/jsi/json/node.rb

This file was deleted.

12 changes: 0 additions & 12 deletions test/base_array_test.rb
Expand Up @@ -208,18 +208,6 @@
assert_equal("#[<JSI (https://schemas.jsi.unth.net/base_array_test/withid#) SortOfArray>\n \"foo\",\n \#{<JSI (https://schemas.jsi.unth.net/base_array_test/withid#/items/1)>\n \"lamp\" => [3]\n },\n #[<JSI (https://schemas.jsi.unth.net/base_array_test/withid#/items/2)>\n \"q\",\n \"r\"\n ],\n {\"four\"=>4}\n]\n", subject.pretty_inspect)
end
end
describe '#inspect Node' do
let(:subject) { schema.new_jsi(JSI::JSON::Node.new_doc(instance)) }
it 'inspects' do
assert_equal("#[<JSI JSI::JSON::ArrayNode #> \"foo\", \#{<JSI JSI::JSON::HashNode #/1> \"lamp\" => #[<JSI::JSON::ArrayNode #/1/lamp> 3]}, #[<JSI JSI::JSON::ArrayNode #/2> \"q\", \"r\"], \#{<JSI::JSON::HashNode #/3> \"four\" => 4}]", subject.inspect)
end
end
describe '#pretty_print Node' do
let(:subject) { schema.new_jsi(JSI::JSON::Node.new_doc(instance)) }
it 'pretty_prints' do
assert_equal("#[<JSI JSI::JSON::ArrayNode #>\n \"foo\",\n \#{<JSI JSI::JSON::HashNode #/1>\n \"lamp\" => #[<JSI::JSON::ArrayNode #/1/lamp> 3]\n },\n #[<JSI JSI::JSON::ArrayNode #/2> \"q\", \"r\"],\n \#{<JSI::JSON::HashNode #/3> \"four\" => 4}\n]\n", subject.pretty_inspect)
end
end
end
# these methods just delegate to Array so not going to test excessively
describe 'index only methods' do
Expand Down
14 changes: 8 additions & 6 deletions test/base_hash_test.rb
Expand Up @@ -252,16 +252,18 @@
assert_equal("\#{<JSI (https://schemas.jsi.unth.net/base_hash_test/withid#) SortOfHash>\n \"foo\" => \#{<JSI (https://schemas.jsi.unth.net/base_hash_test/withid#/properties/foo)>\n \"x\" => \"y\"\n },\n \"bar\" => #[<JSI (https://schemas.jsi.unth.net/base_hash_test/withid#/properties/bar)>\n 9\n ],\n \"baz\" => [true]\n}\n", subject.pretty_inspect)
end
end
describe '#inspect Node' do
let(:subject) { schema.new_jsi(JSI::JSON::Node.new_doc(instance)) }
describe '#inspect jsi_object_group_text' do
let(:instance_class) { Class.new(SortOfHash) { define_method(:jsi_object_group_text) { ['☺'] } } }
let(:subject) { schema.new_jsi(instance_class.new(instance)) }
it 'inspects' do
assert_equal("\#{<JSI JSI::JSON::HashNode #> \"foo\" => \#{<JSI JSI::JSON::HashNode #/foo> \"x\" => \"y\"}, \"bar\" => #[<JSI JSI::JSON::ArrayNode #/bar> 9], \"baz\" => #[<JSI::JSON::ArrayNode #/baz> true]}", subject.inspect)
assert_equal("\#{<JSI > \"foo\" => \#{<JSI> \"x\" => \"y\"}, \"bar\" => #[<JSI> 9], \"baz\" => [true]}", subject.inspect)
end
end
describe '#pretty_print Node' do
let(:subject) { schema.new_jsi(JSI::JSON::Node.new_doc(instance)) }
describe '#pretty_print jsi_object_group_text' do
let(:instance_class) { Class.new(SortOfHash) { define_method(:jsi_object_group_text) { ['☺'] } } }
let(:subject) { schema.new_jsi(instance_class.new(instance)) }
it 'pretty_prints' do
assert_equal("\#{<JSI JSI::JSON::HashNode #>\n \"foo\" => \#{<JSI JSI::JSON::HashNode #/foo> \"x\" => \"y\"},\n \"bar\" => #[<JSI JSI::JSON::ArrayNode #/bar> 9],\n \"baz\" => #[<JSI::JSON::ArrayNode #/baz> true]\n}\n", subject.pretty_inspect)
assert_equal("\#{<JSI ☺> \"foo\" => \#{<JSI> \"x\" => \"y\"}, \"bar\" => #[<JSI> 9], \"baz\" => [true]}\n", subject.pretty_inspect)
end
end
end
Expand Down
18 changes: 8 additions & 10 deletions test/base_test.rb
Expand Up @@ -109,11 +109,11 @@
assert(subject.respond_to?(:to_hash))
end
end
describe 'JSI::JSON::HashNode' do
let(:instance) { JSI::JSON::HashNode.new({'foo' => 'bar'}, JSI::JSON::Pointer.new([])) }
describe 'SortOfHash' do
let(:instance) { SortOfHash.new({'foo' => 'bar'}) }
let(:schema_content) { {'type' => 'object'} }
it 'initializes' do
assert_equal(JSI::JSON::HashNode.new({'foo' => 'bar'}, JSI::JSON::Pointer.new([])), subject.jsi_instance)
assert_equal(SortOfHash.new({'foo' => 'bar'}), subject.jsi_instance)
assert(!subject.respond_to?(:to_ary))
assert(subject.respond_to?(:to_hash))
end
Expand All @@ -127,11 +127,11 @@
assert(!subject.respond_to?(:to_hash))
end
end
describe 'JSI::JSON::ArrayNode' do
let(:instance) { JSI::JSON::ArrayNode.new(['foo'], JSI::JSON::Pointer.new([])) }
describe 'SortOfArray' do
let(:instance) { SortOfArray.new(['foo']) }
let(:schema_content) { {'type' => 'array'} }
it 'initializes' do
assert_equal(JSI::JSON::ArrayNode.new(['foo'], JSI::JSON::Pointer.new([])), subject.jsi_instance)
assert_equal(SortOfArray.new(['foo']), subject.jsi_instance)
assert(subject.respond_to?(:to_ary))
assert(!subject.respond_to?(:to_hash))
end
Expand Down Expand Up @@ -459,10 +459,8 @@
end
describe '#as_json' do
it '#as_json' do
assert_equal({'a' => 'b'}, JSI::Schema.new({}).new_jsi({'a' => 'b'}).as_json)
assert_equal({'a' => 'b'}, JSI::Schema.new({}).new_jsi(JSI::JSON::Node.new_doc({'a' => 'b'})).as_json)
assert_equal({'a' => 'b'}, JSI::Schema.new({'type' => 'object'}).new_jsi(JSI::JSON::Node.new_doc({'a' => 'b'})).as_json)
assert_equal(['a', 'b'], JSI::Schema.new({'type' => 'array'}).new_jsi(JSI::JSON::Node.new_doc(['a', 'b'])).as_json)
assert_equal({'a' => 'b'}, JSI::Schema.new({'type' => 'object'}).new_jsi({'a' => 'b'}).as_json)
assert_equal(['a', 'b'], JSI::Schema.new({'type' => 'array'}).new_jsi(['a', 'b']).as_json)
assert_equal(['a'], JSI::Schema.new({}).new_jsi(['a']).as_json(some_option: true))
end
end
Expand Down

0 comments on commit 6dfb111

Please sign in to comment.