tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test-Root.py (1404B)


      1 # Test printing Handles.
      2 # Ignore flake8 errors "undefined name 'assert_pretty'"
      3 # As it caused by the way we instanciate this file
      4 # flake8: noqa: F821
      5 
      6 assert_subprinter_registered("SpiderMonkey", "instantiations-of-JS::Rooted")
      7 assert_subprinter_registered("SpiderMonkey", "instantiations-of-JS::Handle")
      8 assert_subprinter_registered("SpiderMonkey", "instantiations-of-JS::MutableHandle")
      9 assert_subprinter_registered("SpiderMonkey", "instantiations-of-js::BarrieredBase")
     10 
     11 run_fragment("Root.handle")
     12 
     13 assert_pretty("obj", "(JSObject * const)  [object global]")
     14 assert_pretty("mutableObj", "(JSObject *)  [object global]")
     15 
     16 run_fragment("Root.HeapSlot")
     17 
     18 # This depends on implementation details of arrays, but since HeapSlot is
     19 # not a public type, I'm not sure how to avoid doing *something* ugly.
     20 assert_pretty("((js::NativeObject *) array.ptr)->elements_[0]", '$JS::Value("plinth")')
     21 
     22 run_fragment("Root.barriers")
     23 
     24 assert_pretty("prebarriered", "(JSObject *)  [object Object]")
     25 assert_pretty("heapptr", "(JSObject *)  [object Object]")
     26 assert_pretty("relocatable", "(JSObject *)  [object Object]")
     27 assert_pretty("val", "$JS::Value((JSObject *)  [object Object])")
     28 assert_pretty("heapValue", "$JS::Value((JSObject *)  [object Object])")
     29 assert_pretty("prebarrieredValue", "$JS::Value((JSObject *)  [object Object])")
     30 assert_pretty("relocatableValue", "$JS::Value((JSObject *)  [object Object])")