Пример #1
0
 def record_thread_locale(record, event, locale):
     """Set and capture locale in current thread.
     Use an event to coordinate execution for multithreaded
     tests. Because thread idents maybe recycled and reused
     and jdatetime uses threads idents to identify unique
     threads.
     """
     event.wait(timeout=10)
     jdatetime.set_locale(locale)
     record.append(jdatetime.get_locale())
Пример #2
0
 def record_thread_locale(record, event, locale):
     """Set and capture locale in current thread.
     Use an event to coordinate execution for multithreaded
     tests. Because thread idents maybe recycled and reused
     and jdatetime uses threads idents to identify unique
     threads.
     """
     event.wait(timeout=10)
     jdatetime.set_locale(locale)
     record.append(jdatetime.get_locale())
Пример #3
0
    def test_set_locale_is_per_thread_with_no_effect_on_other_threads(self):
        event = threading.Event()
        fa_record = []
        fa_thread = threading.Thread(target=self.record_thread_locale, args=(fa_record, event, 'fa_IR'))
        nl_record = []
        nl_thread = threading.Thread(target=self.record_thread_locale, args=(nl_record, event, 'nl_NL'))

        fa_thread.start()
        nl_thread.start()
        event.set()  # ensure both threads run concurrently
        fa_thread.join()
        nl_thread.join()

        self.assertEqual(1, len(fa_record))
        self.assertEqual('fa_IR', fa_record[0])
        self.assertEqual(1, len(nl_record))
        self.assertEqual('nl_NL', nl_record[0])
        self.assertIsNone(jdatetime.get_locale())  # MainThread is not affected neither
Пример #4
0
    def test_set_locale_is_per_thread_with_no_effect_on_other_threads(self):
        event = threading.Event()
        fa_record = []
        fa_thread = threading.Thread(target=self.record_thread_locale,
                                     args=(fa_record, event, 'fa_IR'))
        nl_record = []
        nl_thread = threading.Thread(target=self.record_thread_locale,
                                     args=(nl_record, event, 'nl_NL'))

        fa_thread.start()
        nl_thread.start()
        event.set()  # ensure both threads run concurrently
        fa_thread.join()
        nl_thread.join()

        self.assertEqual(1, len(fa_record))
        self.assertEqual('fa_IR', fa_record[0])
        self.assertEqual(1, len(nl_record))
        self.assertEqual('nl_NL', nl_record[0])
        self.assertIsNone(
            jdatetime.get_locale())  # MainThread is not affected neither
Пример #5
0
 def record_greenlet_locale_nl():
     jdatetime.set_locale('nl_NL')
     fa_greenlet.switch()
     nl_record.append(jdatetime.get_locale())
     fa_greenlet.switch()
Пример #6
0
 def record_greenlet_locale_fa():
     jdatetime.set_locale('fa_IR')
     nl_greenlet.switch()
     fa_record.append(jdatetime.get_locale())
     nl_greenlet.switch()
Пример #7
0
 def test_get_locale_returns_none_if_no_locale_set_yet(self):
     self.assertIsNone(jdatetime.get_locale())
Пример #8
0
 def test_init_locale_is_effective_only_if_not_empty(self):
     orig_locale = jdatetime.get_locale()
     jdatetime.set_locale('nl_NL')
     self.addCleanup(jdatetime.set_locale, orig_locale)
     date = jdatetime.date(1397, 4, 22, locale='')
     self.assertEqual(date.locale, 'nl_NL')
Пример #9
0
 def test_init_locale_is_effective_only_if_not_none(self):
     orig_locale = jdatetime.get_locale()
     jdatetime.set_locale('en_US')
     self.addCleanup(jdatetime.set_locale, orig_locale)
     date = jdatetime.date(1397, 4, 22, locale=None)
     self.assertEqual(date.locale, 'en_US')
Пример #10
0
 def record_greenlet_locale_nl():
     jdatetime.set_locale('nl_NL')
     fa_greenlet.switch()
     nl_record.append(jdatetime.get_locale())
     fa_greenlet.switch()
Пример #11
0
 def record_greenlet_locale_fa():
     jdatetime.set_locale('fa_IR')
     nl_greenlet.switch()
     fa_record.append(jdatetime.get_locale())
     nl_greenlet.switch()
Пример #12
0
 def test_get_locale_returns_none_if_no_locale_set_yet(self):
     self.assertIsNone(jdatetime.get_locale())
Пример #13
0
 def test_init_locale_is_effective_only_if_not_empty(self):
     orig_locale = jdatetime.get_locale()
     jdatetime.set_locale('nl_NL')
     self.addCleanup(jdatetime.set_locale, orig_locale)
     date = jdatetime.date(1397, 4, 22, locale='')
     self.assertEqual(date.locale, 'nl_NL')
Пример #14
0
 def test_init_locale_is_effective_only_if_not_none(self):
     orig_locale = jdatetime.get_locale()
     jdatetime.set_locale('en_US')
     self.addCleanup(jdatetime.set_locale, orig_locale)
     date = jdatetime.date(1397, 4, 22, locale=None)
     self.assertEqual(date.locale, 'en_US')