<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
test(function() {
  assert_true("unscopableAttribute" in internals);
}, '"unscopableAttribute" in internals is true');

test(function() {
  assert_true("unscopableMethod" in internals);
}, '"unscopableMethod" in internals is true');

test(function() {
  assert_equals(internals.unscopableAttribute, 'unscopableAttribute');
}, 'internals.unscopableAttribute is "unscopableAttribute"');

test(function() {
  assert_equals(internals.unscopableMethod(), 'unscopableMethod');
}, 'internals.unscopableMethod() is "unscopableMethod"');

test(function() {
  var unscopableAttribute = 'variable';
  with (internals) {
    assert_equals(unscopableAttribute, 'variable');
  }
}, 'unscopableAttribute is "variable"');

test(function() {
  var unscopableMethod = 'variable';
  with (internals) {
    assert_equals(unscopableMethod, 'variable');
  }
}, 'unscopableMethod is "variable"');
</script>
