michael@0: # Test printing Handles. michael@0: michael@0: assert_subprinter_registered('SpiderMonkey', 'instantiations-of-JS::Rooted') michael@0: assert_subprinter_registered('SpiderMonkey', 'instantiations-of-JS::Handle') michael@0: assert_subprinter_registered('SpiderMonkey', 'instantiations-of-JS::MutableHandle') michael@0: assert_subprinter_registered('SpiderMonkey', 'instantiations-of-js::EncapsulatedPtr') michael@0: assert_subprinter_registered('SpiderMonkey', 'js::EncapsulatedValue') michael@0: michael@0: run_fragment('Root.handle') michael@0: michael@0: assert_pretty('obj', '(JSObject * const) [object global] delegate') michael@0: assert_pretty('mutableObj', '(JSObject *) [object global] delegate') michael@0: michael@0: run_fragment('Root.HeapSlot') michael@0: michael@0: # This depends on implementation details of arrays, but since HeapSlot is michael@0: # not a public type, I'm not sure how to avoid doing *something* ugly. michael@0: assert_pretty('array->elements[0]', '$jsval("plinth")') michael@0: