1
0
Fork 0
mirror of https://github.com/rubyjs/therubyracer synced 2023-03-27 23:21:42 -04:00
therubyracer/spec/c/value_spec.rb

41 lines
852 B
Ruby
Raw Normal View History

2015-03-21 10:54:39 +00:00
require 'c_spec_helper'
describe V8::C::Value do
requires_v8_context
def convert(value)
V8::C::Value.FromRubyObject(@isolate, value).ToRubyObject
2015-03-21 10:54:39 +00:00
end
it 'converts strings' do
expect(convert('value').Utf8Value).to eq 'value'
2015-03-21 10:54:39 +00:00
end
it 'converts nil' do
expect(convert(nil)).to eq nil
2015-03-21 10:54:39 +00:00
end
it 'converts undefined to nil' do
object = V8::C::Object.New(@isolate)
key = V8::C::String.NewFromUtf8(@isolate, 'key')
2015-03-21 10:54:39 +00:00
expect(object.Get(key)).to eq nil
end
it 'converts FixNums' do
expect(convert(42)).to eq 42
2015-03-21 10:54:39 +00:00
end
it 'converts booleans' do
expect(convert(true)).to eq true
expect(convert(false)).to eq false
2015-03-21 10:54:39 +00:00
end
it 'converts objects' do
object = V8::C::Object.New(@isolate)
object.Set(V8::C::String.NewFromUtf8(@isolate, 'test'), 1)
2015-03-21 10:54:39 +00:00
expect(convert(object)).to eq object
2015-03-21 10:54:39 +00:00
end
end