Exemplo n.º 1
0
    def testLocker(self):
        with STPyV8.JSIsolate():
            self.assertFalse(STPyV8.JSLocker.active)
            self.assertFalse(STPyV8.JSLocker.locked)

            with STPyV8.JSLocker() as outter_locker:
                self.assertTrue(STPyV8.JSLocker.active)
                self.assertTrue(STPyV8.JSLocker.locked)

                self.assertTrue(outter_locker)

                with STPyV8.JSLocker() as inner_locker:
                    self.assertTrue(STPyV8.JSLocker.locked)

                    self.assertTrue(outter_locker)
                    self.assertTrue(inner_locker)

                    with STPyV8.JSUnlocker():
                        self.assertFalse(STPyV8.JSLocker.locked)

                        self.assertTrue(outter_locker)
                        self.assertTrue(inner_locker)

                    self.assertTrue(STPyV8.JSLocker.locked)

            self.assertTrue(STPyV8.JSLocker.active)
            self.assertFalse(STPyV8.JSLocker.locked)

            locker = STPyV8.JSLocker()

        with STPyV8.JSContext():
            self.assertRaises(RuntimeError, locker.__enter__)
            self.assertRaises(RuntimeError, locker.__exit__, None, None, None)

        del locker
Exemplo n.º 2
0
 def add(self, value):
     with STPyV8.JSUnlocker():
         self.result.append(value)
Exemplo n.º 3
0
            def add(self, value):
                with STPyV8.JSUnlocker():
                    time.sleep(0.1)

                    self.result.append(value)