test/entity_test.rb in ro-crate-0.5.1 vs test/entity_test.rb in ro-crate-0.5.2
- old
+ new
@@ -70,9 +70,26 @@
assert_equal({ '@id' => '#fred' }, crate['author'])
assert_equal({ '@id' => '#fred' }, person.reference)
assert_equal(person.canonical_id, crate.author.canonical_id)
end
+ test 'to_json' do
+ crate = ROCrate::Crate.new
+
+ crate['test'] = 'hello'
+ crate['test2'] = ['hello']
+ crate['test3'] = 123
+ crate['test4'] = { a: 'bc' }
+
+ json = crate.to_json
+ parsed = JSON.parse(json)
+
+ assert_equal 'hello', parsed['test']
+ assert_equal ['hello'], parsed['test2']
+ assert_equal 123, parsed['test3']
+ assert_equal({ 'a' => 'bc' }, parsed['test4'])
+ end
+
test 'format various IDs' do
assert_equal "#Hello%20World/Goodbye%20World", ROCrate::ContextualEntity.format_id('#Hello World/Goodbye World')
assert_equal "#Hello%20World/Goodbye%20World", ROCrate::ContextualEntity.format_id('Hello World/Goodbye World')
assert_equal "#%F0%9F%98%8A", ROCrate::ContextualEntity.format_id("😊")
assert_equal "https://orcid.org/0000-0002-0048-3300", ROCrate::ContextualEntity.format_id("https://orcid.org/0000-0002-0048-3300")