0
@@ -4,18 +4,18 @@ module Johnson
0
class DefinePropertyTest < Johnson::TestCase
0
- @context = Johnson::Context.new
0
- @context.evaluate("x = {}")
0
+ @runtime = Johnson::Runtime.new
0
+ @runtime.evaluate("x = {}")
0
def test_object_can_define_property
0
- @
context.evaluate("Object.defineProperty(x, 'answer', 42)")
0
+ @
runtime.evaluate("Object.defineProperty(x, 'answer', 42)")
0
assert_js_equal(42, "x.answer")
0
def test_object_can_define_unenumerable_property
0
- @context.evaluate("Object.defineProperty(x, 'answer', 42)")
0
- @context.evaluate <<-JS
0
+ @runtime.evaluate("Object.defineProperty(x, 'answer', 42)")
0
+ @runtime.evaluate <<-JS
0
for(prop in x) if(prop == "answer") y.push(prop)
0
@@ -23,8 +23,8 @@ module Johnson
0
def test_object_can_define_enumerable_property
0
- @context.evaluate("Object.defineProperty(x, 'answer', 42, Object.ITERABLE)")
0
- @context.evaluate <<-JS
0
+ @runtime.evaluate("Object.defineProperty(x, 'answer', 42, Object.ITERABLE)")
0
+ @runtime.evaluate <<-JS
0
for(prop in x) if(prop == "answer") y.push(prop)
0
@@ -32,22 +32,22 @@ module Johnson
0
def test_object_can_define_read_only_property
0
- @context.evaluate("Object.defineProperty(x, 'answer', 42, Object.READ_ONLY)")
0
- @context.evaluate("x.answer = 47")
0
+ @runtime.evaluate("Object.defineProperty(x, 'answer', 42, Object.READ_ONLY)")
0
+ @runtime.evaluate("x.answer = 47")
0
assert_js_equal(42, "x.answer")
0
def test_object_can_define_non_deletable_property
0
- @context.evaluate("Object.defineProperty(x, 'answer', 42, Object.NON_DELETABLE)")
0
- @context.evaluate("r = (delete x.answer)")
0
+ @runtime.evaluate("Object.defineProperty(x, 'answer', 42, Object.NON_DELETABLE)")
0
+ @runtime.evaluate("r = (delete x.answer)")
0
assert_js_equal(false, "r")
0
assert_js_equal(42, "x.answer")
0
def test_object_can_define_mixed_property
0
- @context.evaluate("Object.defineProperty(x, 'answer', 42, Object.NON_DELETABLE | Object.READ_ONLY)")
0
- @context.evaluate("r = (delete x.answer)")
0
- @context.evaluate("x.answer = 47")
0
+ @runtime.evaluate("Object.defineProperty(x, 'answer', 42, Object.NON_DELETABLE | Object.READ_ONLY)")
0
+ @runtime.evaluate("r = (delete x.answer)")
0
+ @runtime.evaluate("x.answer = 47")
0
assert_js_equal(false, "r")
0
assert_js_equal(42, "x.answer")