Best JavaScript code snippet using playwright-internal
views.py
Source:views.py  
...204# - password_reset_confirm checks the link the user clicked and205#   prompts for a new password206# - password_reset_complete shows a success message for the above207@csrf_protect208def password_reset(request,209                   template_name='registration/password_reset_form.html',210                   email_template_name='registration/password_reset_email.html',211                   subject_template_name='registration/password_reset_subject.txt',212                   password_reset_form=PasswordResetForm,213                   token_generator=default_token_generator,214                   post_reset_redirect=None,215                   from_email=None,216                   extra_context=None,217                   html_email_template_name=None,218                   extra_email_context=None):219    warnings.warn("The password_reset() view is superseded by the "220                  "class-based PasswordResetView().",221                  RemovedInDjango21Warning, stacklevel=2)222    if post_reset_redirect is None:223        post_reset_redirect = reverse('password_reset_done')224    else:225        post_reset_redirect = resolve_url(post_reset_redirect)226    if request.method == "POST":227        form = password_reset_form(request.POST)228        if form.is_valid():229            opts = {230                'use_https': request.is_secure(),231                'token_generator': token_generator,232                'from_email': from_email,233                'email_template_name': email_template_name,...zynqmp_pm_cfg_obj_convert.py
Source:zynqmp_pm_cfg_obj_convert.py  
1#!/usr/bin/env python32# SPDX-License-Identifier: GPL-2.0+3# Copyright (C) 2019 Luca Ceresoli <luca@lucaceresoli.net>4import sys5import re6import struct7import logging8import argparse9parser = argparse.ArgumentParser(10    description='Convert a PMU configuration object from C source to a binary blob.')11parser.add_argument('-D', '--debug', action="store_true")12parser.add_argument(13    "in_file", metavar='INPUT_FILE',14    help='PMU configuration object (C source as produced by Xilinx XSDK)')15parser.add_argument(16    "out_file", metavar='OUTPUT_FILE',17    help='PMU configuration object binary blob')18args = parser.parse_args()19logging.basicConfig(format='%(levelname)s:%(message)s',20                    level=(logging.DEBUG if args.debug else logging.WARNING))21pm_define = {22    'PM_CAP_ACCESS'   : 0x1,23    'PM_CAP_CONTEXT'  : 0x2,24    'PM_CAP_WAKEUP'   : 0x4,25    'NODE_UNKNOWN'    :  0,26    'NODE_APU'        :  1,27    'NODE_APU_0'      :  2,28    'NODE_APU_1'      :  3,29    'NODE_APU_2'      :  4,30    'NODE_APU_3'      :  5,31    'NODE_RPU'        :  6,32    'NODE_RPU_0'      :  7,33    'NODE_RPU_1'      :  8,34    'NODE_PLD'        :  9,35    'NODE_FPD'        : 10,36    'NODE_OCM_BANK_0' : 11,37    'NODE_OCM_BANK_1' : 12,38    'NODE_OCM_BANK_2' : 13,39    'NODE_OCM_BANK_3' : 14,40    'NODE_TCM_0_A'    : 15,41    'NODE_TCM_0_B'    : 16,42    'NODE_TCM_1_A'    : 17,43    'NODE_TCM_1_B'    : 18,44    'NODE_L2'         : 19,45    'NODE_GPU_PP_0'   : 20,46    'NODE_GPU_PP_1'   : 21,47    'NODE_USB_0'      : 22,48    'NODE_USB_1'      : 23,49    'NODE_TTC_0'      : 24,50    'NODE_TTC_1'      : 25,51    'NODE_TTC_2'      : 26,52    'NODE_TTC_3'      : 27,53    'NODE_SATA'       : 28,54    'NODE_ETH_0'      : 29,55    'NODE_ETH_1'      : 30,56    'NODE_ETH_2'      : 31,57    'NODE_ETH_3'      : 32,58    'NODE_UART_0'     : 33,59    'NODE_UART_1'     : 34,60    'NODE_SPI_0'      : 35,61    'NODE_SPI_1'      : 36,62    'NODE_I2C_0'      : 37,63    'NODE_I2C_1'      : 38,64    'NODE_SD_0'       : 39,65    'NODE_SD_1'       : 40,66    'NODE_DP'         : 41,67    'NODE_GDMA'       : 42,68    'NODE_ADMA'       : 43,69    'NODE_NAND'       : 44,70    'NODE_QSPI'       : 45,71    'NODE_GPIO'       : 46,72    'NODE_CAN_0'      : 47,73    'NODE_CAN_1'      : 48,74    'NODE_EXTERN'     : 49,75    'NODE_APLL'       : 50,76    'NODE_VPLL'       : 51,77    'NODE_DPLL'       : 52,78    'NODE_RPLL'       : 53,79    'NODE_IOPLL'      : 54,80    'NODE_DDR'        : 55,81    'NODE_IPI_APU'    : 56,82    'NODE_IPI_RPU_0'  : 57,83    'NODE_GPU'        : 58,84    'NODE_PCIE'       : 59,85    'NODE_PCAP'       : 60,86    'NODE_RTC'        : 61,87    'NODE_LPD'        : 62,88    'NODE_VCU'        : 63,89    'NODE_IPI_RPU_1'  : 64,90    'NODE_IPI_PL_0'   : 65,91    'NODE_IPI_PL_1'   : 66,92    'NODE_IPI_PL_2'   : 67,93    'NODE_IPI_PL_3'   : 68,94    'NODE_PL'         : 69,95    'NODE_ID_MA'      : 70,96    'XILPM_RESET_PCIE_CFG'         : 1000,97    'XILPM_RESET_PCIE_BRIDGE'      : 1001,98    'XILPM_RESET_PCIE_CTRL'        : 1002,99    'XILPM_RESET_DP'               : 1003,100    'XILPM_RESET_SWDT_CRF'         : 1004,101    'XILPM_RESET_AFI_FM5'          : 1005,102    'XILPM_RESET_AFI_FM4'          : 1006,103    'XILPM_RESET_AFI_FM3'          : 1007,104    'XILPM_RESET_AFI_FM2'          : 1008,105    'XILPM_RESET_AFI_FM1'          : 1009,106    'XILPM_RESET_AFI_FM0'          : 1010,107    'XILPM_RESET_GDMA'             : 1011,108    'XILPM_RESET_GPU_PP1'          : 1012,109    'XILPM_RESET_GPU_PP0'          : 1013,110    'XILPM_RESET_GPU'              : 1014,111    'XILPM_RESET_GT'               : 1015,112    'XILPM_RESET_SATA'             : 1016,113    'XILPM_RESET_ACPU3_PWRON'      : 1017,114    'XILPM_RESET_ACPU2_PWRON'      : 1018,115    'XILPM_RESET_ACPU1_PWRON'      : 1019,116    'XILPM_RESET_ACPU0_PWRON'      : 1020,117    'XILPM_RESET_APU_L2'           : 1021,118    'XILPM_RESET_ACPU3'            : 1022,119    'XILPM_RESET_ACPU2'            : 1023,120    'XILPM_RESET_ACPU1'            : 1024,121    'XILPM_RESET_ACPU0'            : 1025,122    'XILPM_RESET_DDR'              : 1026,123    'XILPM_RESET_APM_FPD'          : 1027,124    'XILPM_RESET_SOFT'             : 1028,125    'XILPM_RESET_GEM0'             : 1029,126    'XILPM_RESET_GEM1'             : 1030,127    'XILPM_RESET_GEM2'             : 1031,128    'XILPM_RESET_GEM3'             : 1032,129    'XILPM_RESET_QSPI'             : 1033,130    'XILPM_RESET_UART0'            : 1034,131    'XILPM_RESET_UART1'            : 1035,132    'XILPM_RESET_SPI0'             : 1036,133    'XILPM_RESET_SPI1'             : 1037,134    'XILPM_RESET_SDIO0'            : 1038,135    'XILPM_RESET_SDIO1'            : 1039,136    'XILPM_RESET_CAN0'             : 1040,137    'XILPM_RESET_CAN1'             : 1041,138    'XILPM_RESET_I2C0'             : 1042,139    'XILPM_RESET_I2C1'             : 1043,140    'XILPM_RESET_TTC0'             : 1044,141    'XILPM_RESET_TTC1'             : 1045,142    'XILPM_RESET_TTC2'             : 1046,143    'XILPM_RESET_TTC3'             : 1047,144    'XILPM_RESET_SWDT_CRL'         : 1048,145    'XILPM_RESET_NAND'             : 1049,146    'XILPM_RESET_ADMA'             : 1050,147    'XILPM_RESET_GPIO'             : 1051,148    'XILPM_RESET_IOU_CC'           : 1052,149    'XILPM_RESET_TIMESTAMP'        : 1053,150    'XILPM_RESET_RPU_R50'          : 1054,151    'XILPM_RESET_RPU_R51'          : 1055,152    'XILPM_RESET_RPU_AMBA'         : 1056,153    'XILPM_RESET_OCM'              : 1057,154    'XILPM_RESET_RPU_PGE'          : 1058,155    'XILPM_RESET_USB0_CORERESET'   : 1059,156    'XILPM_RESET_USB1_CORERESET'   : 1060,157    'XILPM_RESET_USB0_HIBERRESET'  : 1061,158    'XILPM_RESET_USB1_HIBERRESET'  : 1062,159    'XILPM_RESET_USB0_APB'         : 1063,160    'XILPM_RESET_USB1_APB'         : 1064,161    'XILPM_RESET_IPI'              : 1065,162    'XILPM_RESET_APM_LPD'          : 1066,163    'XILPM_RESET_RTC'              : 1067,164    'XILPM_RESET_SYSMON'           : 1068,165    'XILPM_RESET_AFI_FM6'          : 1069,166    'XILPM_RESET_LPD_SWDT'         : 1070,167    'XILPM_RESET_FPD'              : 1071,168    'XILPM_RESET_RPU_DBG1'         : 1072,169    'XILPM_RESET_RPU_DBG0'         : 1073,170    'XILPM_RESET_DBG_LPD'          : 1074,171    'XILPM_RESET_DBG_FPD'          : 1075,172    'XILPM_RESET_APLL'             : 1076,173    'XILPM_RESET_DPLL'             : 1077,174    'XILPM_RESET_VPLL'             : 1078,175    'XILPM_RESET_IOPLL'            : 1079,176    'XILPM_RESET_RPLL'             : 1080,177    'XILPM_RESET_GPO3_PL_0'        : 1081,178    'XILPM_RESET_GPO3_PL_1'        : 1082,179    'XILPM_RESET_GPO3_PL_2'        : 1083,180    'XILPM_RESET_GPO3_PL_3'        : 1084,181    'XILPM_RESET_GPO3_PL_4'        : 1085,182    'XILPM_RESET_GPO3_PL_5'        : 1086,183    'XILPM_RESET_GPO3_PL_6'        : 1087,184    'XILPM_RESET_GPO3_PL_7'        : 1088,185    'XILPM_RESET_GPO3_PL_8'        : 1089,186    'XILPM_RESET_GPO3_PL_9'        : 1090,187    'XILPM_RESET_GPO3_PL_10'       : 1091,188    'XILPM_RESET_GPO3_PL_11'       : 1092,189    'XILPM_RESET_GPO3_PL_12'       : 1093,190    'XILPM_RESET_GPO3_PL_13'       : 1094,191    'XILPM_RESET_GPO3_PL_14'       : 1095,192    'XILPM_RESET_GPO3_PL_15'       : 1096,193    'XILPM_RESET_GPO3_PL_16'       : 1097,194    'XILPM_RESET_GPO3_PL_17'       : 1098,195    'XILPM_RESET_GPO3_PL_18'       : 1099,196    'XILPM_RESET_GPO3_PL_19'       : 1100,197    'XILPM_RESET_GPO3_PL_20'       : 1101,198    'XILPM_RESET_GPO3_PL_21'       : 1102,199    'XILPM_RESET_GPO3_PL_22'       : 1103,200    'XILPM_RESET_GPO3_PL_23'       : 1104,201    'XILPM_RESET_GPO3_PL_24'       : 1105,202    'XILPM_RESET_GPO3_PL_25'       : 1106,203    'XILPM_RESET_GPO3_PL_26'       : 1107,204    'XILPM_RESET_GPO3_PL_27'       : 1108,205    'XILPM_RESET_GPO3_PL_28'       : 1109,206    'XILPM_RESET_GPO3_PL_29'       : 1110,207    'XILPM_RESET_GPO3_PL_30'       : 1111,208    'XILPM_RESET_GPO3_PL_31'       : 1112,209    'XILPM_RESET_RPU_LS'           : 1113,210    'XILPM_RESET_PS_ONLY'          : 1114,211    'XILPM_RESET_PL'               : 1115,212    'XILPM_RESET_GPIO5_EMIO_92'    : 1116,213    'XILPM_RESET_GPIO5_EMIO_93'    : 1117,214    'XILPM_RESET_GPIO5_EMIO_94'    : 1118,215    'XILPM_RESET_GPIO5_EMIO_95'    : 1119,216    'PM_CONFIG_MASTER_SECTION_ID'        : 0x101,217    'PM_CONFIG_SLAVE_SECTION_ID'         : 0x102,218    'PM_CONFIG_PREALLOC_SECTION_ID'      : 0x103,219    'PM_CONFIG_POWER_SECTION_ID'         : 0x104,220    'PM_CONFIG_RESET_SECTION_ID'         : 0x105,221    'PM_CONFIG_SHUTDOWN_SECTION_ID'      : 0x106,222    'PM_CONFIG_SET_CONFIG_SECTION_ID'    : 0x107,223    'PM_CONFIG_GPO_SECTION_ID'           : 0x108,224    'PM_SLAVE_FLAG_IS_SHAREABLE'         : 0x1,225    'PM_MASTER_USING_SLAVE_MASK'         : 0x2,226    'PM_CONFIG_GPO1_MIO_PIN_34_MAP'      : (1 << 10),227    'PM_CONFIG_GPO1_MIO_PIN_35_MAP'      : (1 << 11),228    'PM_CONFIG_GPO1_MIO_PIN_36_MAP'      : (1 << 12),229    'PM_CONFIG_GPO1_MIO_PIN_37_MAP'      : (1 << 13),230    'PM_CONFIG_GPO1_BIT_2_MASK'          : (1 << 2),231    'PM_CONFIG_GPO1_BIT_3_MASK'          : (1 << 3),232    'PM_CONFIG_GPO1_BIT_4_MASK'          : (1 << 4),233    'PM_CONFIG_GPO1_BIT_5_MASK'          : (1 << 5),234    'SUSPEND_TIMEOUT'                    : 0xFFFFFFFF,235    'PM_CONFIG_IPI_PSU_CORTEXA53_0_MASK' : 0x00000001,236    'PM_CONFIG_IPI_PSU_CORTEXR5_0_MASK'  : 0x00000100,237    'PM_CONFIG_IPI_PSU_CORTEXR5_1_MASK'  : 0x00000200,238}239in_file  = open(args.in_file,  mode='r')240out_file = open(args.out_file, mode='wb')241num_re   = re.compile(r"^([0-9]+)U?$")242const_re = re.compile(r"^([A-Z_][A-Z0-9_]*)$")243def process_item(item):244    logging.debug("* ITEM   " + item)245    value = 0246    for item in item.split('|'):247        item = item.strip()248        num_match   = num_re  .match(item)249        const_match = const_re.match(item)250        if num_match:251            num = int(num_match.group(1))252            logging.debug("  - num  " + str(num))253            value |= num254        elif const_match:255            name = const_match.group(1)256            if not name in pm_define:257                sys.stderr.write("Unknown define " + name + "!\n")258                exit(1)259            num = pm_define[name]260            logging.debug("  - def  " + hex(num))261            value |= num262    logging.debug("  = res  " + hex(value))263    out_file.write(struct.pack('<L', value))264# Read all code265code = in_file.read()266# remove comments267code = re.sub('//.*?\n|/\*.*?\*/', '', code, flags=re.DOTALL)268# remove everything outside the XPm_ConfigObject array definition269code = re.search('const u32 XPm_ConfigObject.*= {\n(.*)};',270                 code, flags=re.DOTALL).group(1)271# Process each comma-separated array item272for item in code.split(','):273    item = item.strip()274    if item:275        process_item(item)...test_reset_password.py
Source:test_reset_password.py  
...32        self.user_bad_passwd.is_active = False33        self.user_bad_passwd.password = UNUSABLE_PASSWORD34        self.user_bad_passwd.save()35    @patch('student.views.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))36    def test_user_bad_password_reset(self):37        """Tests password reset behavior for user with password marked UNUSABLE_PASSWORD"""38        bad_pwd_req = self.request_factory.post('/password_reset/', {'email': self.user_bad_passwd.email})39        bad_pwd_resp = password_reset(bad_pwd_req)40        # If they've got an unusable password, we return a successful response code41        self.assertEquals(bad_pwd_resp.status_code, 200)42        obj = json.loads(bad_pwd_resp.content)43        self.assertEquals(obj, {44            'success': True,45            'value': "('registration/password_reset_done.html', [])",46        })47    @patch('student.views.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))48    def test_nonexist_email_password_reset(self):49        """Now test the exception cases with of reset_password called with invalid email."""50        bad_email_req = self.request_factory.post('/password_reset/', {'email': self.user.email + "makeItFail"})51        bad_email_resp = password_reset(bad_email_req)52        # Note: even if the email is bad, we return a successful response code53        # This prevents someone potentially trying to "brute-force" find out which54        # emails are and aren't registered with edX55        self.assertEquals(bad_email_resp.status_code, 200)56        obj = json.loads(bad_email_resp.content)57        self.assertEquals(obj, {58            'success': True,59            'value': "('registration/password_reset_done.html', [])",60        })61    @patch('student.views.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))62    def test_password_reset_ratelimited(self):63        """ Try (and fail) resetting password 30 times in a row on an non-existant email address """64        cache.clear()65        for i in xrange(30):66            good_req = self.request_factory.post('/password_reset/', {67                'email': 'thisdoesnotexist{0}@foo.com'.format(i)68            })69            good_resp = password_reset(good_req)70            self.assertEquals(good_resp.status_code, 200)71        # then the rate limiter should kick in and give a HttpForbidden response72        bad_req = self.request_factory.post('/password_reset/', {'email': 'thisdoesnotexist@foo.com'})73        bad_resp = password_reset(bad_req)74        self.assertEquals(bad_resp.status_code, 403)75        cache.clear()76    @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', "Test only valid in LMS")77    @patch('django.core.mail.send_mail')78    @patch('student.views.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))79    def test_reset_password_email(self, send_email):80        """Tests contents of reset password email, and that user is not active"""81        good_req = self.request_factory.post('/password_reset/', {'email': self.user.email})82        good_resp = password_reset(good_req)83        self.assertEquals(good_resp.status_code, 200)84        obj = json.loads(good_resp.content)85        self.assertEquals(obj, {86            'success': True,87            'value': "('registration/password_reset_done.html', [])",88        })89        (subject, msg, from_addr, to_addrs) = send_email.call_args[0]90        self.assertIn("Password reset", subject)91        self.assertIn("You're receiving this e-mail because you requested a password reset", msg)92        self.assertEquals(from_addr, settings.DEFAULT_FROM_EMAIL)93        self.assertEquals(len(to_addrs), 1)94        self.assertIn(self.user.email, to_addrs)95        #test that the user is not active96        self.user = User.objects.get(pk=self.user.pk)97        self.assertFalse(self.user.is_active)98        re.search(r'password_reset_confirm/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/', msg).groupdict()99    @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', "Test only valid in LMS")100    @patch('django.core.mail.send_mail')101    @ddt.data((False, 'http://'), (True, 'https://'))102    @ddt.unpack103    def test_reset_password_email_https(self, is_secure, protocol, send_email):104        """105        Tests that the right url protocol is included in the reset password link106        """107        req = self.request_factory.post(108            '/password_reset/', {'email': self.user.email}109        )110        req.is_secure = Mock(return_value=is_secure)111        resp = password_reset(req)112        _, msg, _, _ = send_email.call_args[0]113        expected_msg = "Please go to the following page and choose a new password:\n\n" + protocol114        self.assertIn(expected_msg, msg)115    @patch('student.views.password_reset_confirm')116    def test_reset_password_bad_token(self, reset_confirm):117        """Tests bad token and uidb36 in password reset"""118        bad_reset_req = self.request_factory.get('/password_reset_confirm/NO-OP/')119        password_reset_confirm_wrapper(bad_reset_req, 'NO', 'OP')120        confirm_kwargs = reset_confirm.call_args[1]121        self.assertEquals(confirm_kwargs['uidb36'], 'NO')122        self.assertEquals(confirm_kwargs['token'], 'OP')123        self.user = User.objects.get(pk=self.user.pk)124        self.assertFalse(self.user.is_active)125    @patch('student.views.password_reset_confirm')...test_monitor.py
Source:test_monitor.py  
...16def test_write_upon_reset_false():17    with helpers.tempdir() as temp:18        env = gym.make('CartPole-v0')19        env = Monitor(env, directory=temp, video_callable=False, write_upon_reset=False)20        env.reset()21        files = glob.glob(os.path.join(temp, '*'))22        assert not files, "Files: {}".format(files)23        env.close()24        files = glob.glob(os.path.join(temp, '*'))25        assert len(files) > 026def test_write_upon_reset_true():27    with helpers.tempdir() as temp:28        env = gym.make('CartPole-v0')29        env = Monitor(env, directory=temp, video_callable=False, write_upon_reset=True)30        env.reset()31        files = glob.glob(os.path.join(temp, '*'))32        assert len(files) > 0, "Files: {}".format(files)33        env.close()34        files = glob.glob(os.path.join(temp, '*'))35        assert len(files) > 036def test_video_callable_true_not_allowed():37    with helpers.tempdir() as temp:38        env = gym.make('CartPole-v0')39        try:40            env = Monitor(env, temp, video_callable=True)41        except error.Error:42            pass43        else:44            assert False45def test_video_callable_false_does_not_record():46    with helpers.tempdir() as temp:47        env = gym.make('CartPole-v0')48        env = Monitor(env, temp, video_callable=False)49        env.reset()50        env.close()51        results = monitoring.load_results(temp)52        assert len(results['videos']) == 053def test_video_callable_records_videos():54    with helpers.tempdir() as temp:55        env = gym.make('CartPole-v0')56        env = Monitor(env, temp)57        env.reset()58        env.close()59        results = monitoring.load_results(temp)60        assert len(results['videos']) == 1, "Videos: {}".format(results['videos'])61def test_semisuper_succeeds():62    """Regression test. Ensure that this can write"""63    with helpers.tempdir() as temp:64        env = gym.make('SemisuperPendulumDecay-v0')65        env = Monitor(env, temp)66        env.reset()67        env.step(env.action_space.sample())68        env.close()69class AutoresetEnv(gym.Env):70    metadata = {'semantics.autoreset': True}71    def __init__(self):72        self.action_space = spaces.Discrete(1)73        self.observation_space = spaces.Discrete(1)74    def _reset(self):75        return 076    def _step(self, action):77        return 0, 0, False, {}78import logging79logger = logging.getLogger()80gym.envs.register(81    id='Autoreset-v0',82    entry_point='gym.monitoring.tests.test_monitor:AutoresetEnv',83    max_episode_steps=2,84)85def test_env_reuse():86    with helpers.tempdir() as temp:87        env = gym.make('Autoreset-v0')88        env = Monitor(env, temp)89        env.reset()90        _, _, done, _ = env.step(None)91        assert not done92        _, _, done, _ = env.step(None)93        assert done94        _, _, done, _ = env.step(None)95        assert not done96        _, _, done, _ = env.step(None)97        assert done98        env.close()99def test_no_monitor_reset_unless_done():100    def assert_reset_raises(env):101        errored = False102        try:103            env.reset()104        except error.Error:105            errored = True106        assert errored, "Env allowed a reset when it shouldn't have"107    with helpers.tempdir() as temp:108        # Make sure we can reset as we please without monitor109        env = gym.make('CartPole-v0')110        env.reset()111        env.step(env.action_space.sample())112        env.step(env.action_space.sample())113        env.reset()114        # can reset once as soon as we start115        env = Monitor(env, temp, video_callable=False)116        env.reset()117        # can reset multiple times in a row118        env.reset()119        env.reset()120        env.step(env.action_space.sample())121        env.step(env.action_space.sample())122        assert_reset_raises(env)123        # should allow resets after the episode is done124        d = False125        while not d:126            _, _, d, _ = env.step(env.action_space.sample())127        env.reset()128        env.reset()129        env.step(env.action_space.sample())130        assert_reset_raises(env)131        env.close()132def test_only_complete_episodes_written():133    with helpers.tempdir() as temp:134        env = gym.make('CartPole-v0')135        env = Monitor(env, temp, video_callable=False)136        env.reset()137        d = False138        while not d:139            _, _, d, _ = env.step(env.action_space.sample())140        env.reset()141        env.step(env.action_space.sample())142        env.close()143        # Only 1 episode should be written144        results = monitoring.load_results(temp)145        assert len(results['episode_lengths']) == 1, "Found {} episodes written; expecting 1".format(len(results['episode_lengths']))146register(147    id='test.StepsLimitCartpole-v0',148    entry_point='gym.envs.classic_control:CartPoleEnv',149    max_episode_steps=2150    )151def test_steps_limit_restart():152    with helpers.tempdir() as temp:153        env = gym.make('test.StepsLimitCartpole-v0')154        env = Monitor(env, temp, video_callable=False)155        env.reset()156        # Episode has started157        _, _, done, info = env.step(env.action_space.sample())158        assert done == False159        # Limit reached, now we get a done signal and the env resets itself160        _, _, done, info = env.step(env.action_space.sample())161        assert done == True162        assert env.episode_id == 1...passwords.py
Source:passwords.py  
1# coding=utf-82from django.contrib.auth.forms import PasswordResetForm, SetPasswordForm3from django.contrib.auth.tokens import default_token_generator4from django.contrib.auth.views import PasswordResetConfirmView as password_reset_confirm5from django.template.response import TemplateResponse6from django.utils.translation import ugettext as _7from xadmin.sites import site8from xadmin.views.base import BaseAdminPlugin, BaseAdminView, csrf_protect_m9from xadmin.views.website import LoginView10class ResetPasswordSendView(BaseAdminView):11    need_site_permission = False12    password_reset_form = PasswordResetForm13    password_reset_template = 'xadmin/auth/password_reset/form.html'14    password_reset_done_template = 'xadmin/auth/password_reset/done.html'15    password_reset_token_generator = default_token_generator16    password_reset_from_email = None17    password_reset_email_template = 'xadmin/auth/password_reset/email.html'18    password_reset_subject_template = None19    def get(self, request, *args, **kwargs):20        context = super(ResetPasswordSendView, self).get_context()21        context['form'] = kwargs.get('form', self.password_reset_form())22        return TemplateResponse(request, self.password_reset_template, context)23    @csrf_protect_m24    def post(self, request, *args, **kwargs):25        form = self.password_reset_form(request.POST)26        if form.is_valid():27            opts = {28                'use_https': request.is_secure(),29                'token_generator': self.password_reset_token_generator,30                'email_template_name': self.password_reset_email_template,31                'request': request,32                'domain_override': request.get_host()33            }34            if self.password_reset_from_email:35                opts['from_email'] = self.password_reset_from_email36            if self.password_reset_subject_template:37                opts['subject_template_name'] = self.password_reset_subject_template38            form.save(**opts)39            context = super(ResetPasswordSendView, self).get_context()40            return TemplateResponse(request, self.password_reset_done_template, context)41        else:42            return self.get(request, form=form)43site.register_view(r'^xadmin/password_reset/$', ResetPasswordSendView, name='xadmin_password_reset')44class ResetLinkPlugin(BaseAdminPlugin):45    def block_form_bottom(self, context, nodes):46        reset_link = self.get_admin_url('xadmin_password_reset')47        return '<div class="text-info" style="margin-top:15px;"><a href="%s"><i class="fa fa-question-sign"></i> %s</a></div>' % (reset_link, _('Forgotten your password or username?'))48site.register_plugin(ResetLinkPlugin, LoginView)49class ResetPasswordComfirmView(BaseAdminView):50    need_site_permission = False51    password_reset_set_form = SetPasswordForm52    password_reset_confirm_template = 'xadmin/auth/password_reset/confirm.html'53    password_reset_token_generator = default_token_generator54    def do_view(self, request, uidb36, token, *args, **kwargs):55        context = super(ResetPasswordComfirmView, self).get_context()56        return password_reset_confirm(request, uidb36, token,57                                      template_name=self.password_reset_confirm_template,58                                      token_generator=self.password_reset_token_generator,59                                      set_password_form=self.password_reset_set_form,60                                      post_reset_redirect=self.get_admin_url('xadmin_password_reset_complete'),61                                      current_app=self.admin_site.name, extra_context=context)62    def get(self, request, uidb36, token, *args, **kwargs):63        return self.do_view(request, uidb36, token)64    def post(self, request, uidb36, token, *args, **kwargs):65        return self.do_view(request, uidb36, token)66    def get_media(self):67        return super(ResetPasswordComfirmView, self).get_media() + \68            self.vendor('xadmin.page.form.js', 'xadmin.form.css')69site.register_view(r'^xadmin/password_reset/(?P<uidb36>[0-9A-Za-z]{1,13})-(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',70                   ResetPasswordComfirmView, name='xadmin_password_reset_confirm')71class ResetPasswordCompleteView(BaseAdminView):72    need_site_permission = False73    password_reset_complete_template = 'xadmin/auth/password_reset/complete.html'74    def get(self, request, *args, **kwargs):75        context = super(ResetPasswordCompleteView, self).get_context()76        context['login_url'] = self.get_admin_url('index')77        return TemplateResponse(request, self.password_reset_complete_template, context)...reset_profile_settings_overlay.js
Source:reset_profile_settings_overlay.js  
1// Copyright 2013 The Chromium Authors. All rights reserved.2// Use of this source code is governed by a BSD-style license that can be3// found in the LICENSE file.4cr.define('options', function() {5  var Page = cr.ui.pageManager.Page;6  var AutomaticSettingsResetBanner = options.AutomaticSettingsResetBanner;7  var ResetProfileSettingsBanner = options.ResetProfileSettingsBanner;8  /**9   * ResetProfileSettingsOverlay class10   * Encapsulated handling of the 'Reset Profile Settings' overlay page.11   * @class12   */13  function ResetProfileSettingsOverlay() {14    Page.call(this, 'resetProfileSettings',15              loadTimeData.getString('resetProfileSettingsOverlayTabTitle'),16              'reset-profile-settings-overlay');17  }18  cr.addSingletonGetter(ResetProfileSettingsOverlay);19  ResetProfileSettingsOverlay.prototype = {20    // Inherit ResetProfileSettingsOverlay from Page.21    __proto__: Page.prototype,22    /** @override */23    initializePage: function() {24      Page.prototype.initializePage.call(this);25      $('reset-profile-settings-dismiss').onclick = function(e) {26        ResetProfileSettingsOverlay.dismiss();27      };28      $('reset-profile-settings-commit').onclick = function(e) {29        ResetProfileSettingsOverlay.setResettingState(true);30        chrome.send('performResetProfileSettings',31                    [$('send-settings').checked]);32      };33      $('expand-feedback').onclick = function(e) {34        var feedbackTemplate = $('feedback-template');35        feedbackTemplate.hidden = !feedbackTemplate.hidden;36        e.preventDefault();37      };38    },39    /**40     * @override41     * @suppress {checkTypes}42     * TODO(vitalyp): remove the suppression. See the explanation in43     * chrome/browser/resources/options/automatic_settings_reset_banner.js.44     */45    didShowPage: function() {46      ResetProfileSettingsBanner.dismiss();47      chrome.send('onShowResetProfileDialog');48    },49    /** @override */50    didClosePage: function() {51      chrome.send('onHideResetProfileDialog');52    },53  };54  /**55   * Enables/disables UI elements after/while Chrome is performing a reset.56   * @param {boolean} state If true, UI elements are disabled.57   */58  ResetProfileSettingsOverlay.setResettingState = function(state) {59    $('reset-profile-settings-throbber').style.visibility =60        state ? 'visible' : 'hidden';61    $('reset-profile-settings-dismiss').disabled = state;62    $('reset-profile-settings-commit').disabled = state;63  };64  /**65   * Chrome callback to notify ResetProfileSettingsOverlay that the reset66   * operation has terminated.67   * @suppress {checkTypes}68   * TODO(vitalyp): remove the suppression. See the explanation in69   * chrome/browser/resources/options/automatic_settings_reset_banner.js.70   */71  ResetProfileSettingsOverlay.doneResetting = function() {72    AutomaticSettingsResetBanner.dismiss();73    ResetProfileSettingsOverlay.dismiss();74  };75  /**76   * Dismisses the overlay.77   */78  ResetProfileSettingsOverlay.dismiss = function() {79    PageManager.closeOverlay();80    ResetProfileSettingsOverlay.setResettingState(false);81  };82  ResetProfileSettingsOverlay.setFeedbackInfo = function(feedbackListData) {83    var input = new JsEvalContext(feedbackListData);84    var output = $('feedback-template');85    jstProcess(input, output);86  };87  // Export88  return {89    ResetProfileSettingsOverlay: ResetProfileSettingsOverlay90  };...app.py
Source:app.py  
1# flake8: noqa, because URL syntax is more readable with long lines2from django.conf.urls import url, include3from django.contrib.auth import views as auth_views4from django.core.urlresolvers import reverse_lazy5from oscar.core.application import Application6from oscar.core.loading import get_class7from oscar.views.decorators import login_forbidden8class Shop(Application):9    name = None10    catalogue_app = get_class('catalogue.app', 'application')11    customer_app = get_class('customer.app', 'application')12    basket_app = get_class('basket.app', 'application')13    checkout_app = get_class('checkout.app', 'application')14    promotions_app = get_class('promotions.app', 'application')15    search_app = get_class('search.app', 'application')16    dashboard_app = get_class('dashboard.app', 'application')17    offer_app = get_class('offer.app', 'application')18    password_reset_form = get_class('customer.forms', 'PasswordResetForm')19    set_password_form = get_class('customer.forms', 'SetPasswordForm')20    def get_urls(self):21        urls = [22            url(r'^catalogue/', include(self.catalogue_app.urls)),23            url(r'^basket/', include(self.basket_app.urls)),24            url(r'^checkout/', include(self.checkout_app.urls)),25            url(r'^accounts/', include(self.customer_app.urls)),26            url(r'^search/', include(self.search_app.urls)),27            url(r'^dashboard/', include(self.dashboard_app.urls)),28            url(r'^offers/', include(self.offer_app.urls)),29            # Password reset - as we're using Django's default view functions,30            # we can't namespace these urls as that prevents31            # the reverse function from working.32            url(r'^password-reset/$',33                login_forbidden(auth_views.password_reset),34                {'password_reset_form': self.password_reset_form,35                 'post_reset_redirect': reverse_lazy('password-reset-done')},36                name='password-reset'),37            url(r'^password-reset/done/$',38                login_forbidden(auth_views.password_reset_done),39                name='password-reset-done'),40            url(r'^password-reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$',41                login_forbidden(auth_views.password_reset_confirm),42                {43                    'post_reset_redirect': reverse_lazy('password-reset-complete'),44                    'set_password_form': self.set_password_form,45                },46                name='password-reset-confirm'),47            url(r'^password-reset/complete/$',48                login_forbidden(auth_views.password_reset_complete),49                name='password-reset-complete'),50            url(r'', include(self.promotions_app.urls)),51        ]52        return urls...urls.py
Source:urls.py  
1# -*- coding: utf-8 -*-2from django.conf.urls import url3from . import views4from django.conf import settings5from django.contrib.auth import views as auth_views #å¼å
¥djangoå
ç½®çè§å¾æä»¶ï¼éå½å为auth-views6urlpatterns =[7    #url(r'^login/$', views.user_login, name='user_login'),#èªå®ä¹æç»å½8    url(r'^login/$', auth_views.login, name='user_login'), #djangoå
ç½®çç»å½9    url(r'^new-login/$',auth_views.login,{'template_name':'account/login.html'}),10    url(r'^logout/$', auth_views.logout, name='user_logout'), #djangoå
ç½®çéåº11    #url(r'^logout/$', auth_views.logout,{'template_name':'account/logout.html'}, name='user_logout'), #djangoå
ç½®çéåº12    url(r'^register/$',views.register,name='user_register'),13    # ç»éå¯ç ä¿®æ¹ç龿¥14    url(r'^password-change/$',auth_views.password_change,{'post_change_redirect':'/account/password-change-done'},name='password_change'),15    url(r'^password-change-done/$',auth_views.password_change_done,name='password_change_done'),16    # ç»å½å¯ç éç½®é¾æ¥(èªå®ä¹)17    url(r'^password-reset/$',auth_views.password_reset,18        {'template_name':'account/password_reset_form.html',19        'email_template_name':'account/password_reset_email.html',20         'subject_template_name':'account/password_reset_subject.text',21         'post_reset_redirect':'/account/password-reset-done'22         },name='password_reset'),23    url(r'^password-reset-done/$',auth_views.password_reset_done,24        {'template_name':'account/password_reset_done.html',25         },name='password_reset_done'),26    url(r'^password-reset_confirm/(?P<uidb64>[-\w]+)/(?P<token>[-\w]+)/$',auth_views.password_reset_confirm,27        {'template_name':'account/password_reset_confirm.html',28         'post_reset_redirect':'/account/password-reset-complete'29         },name='password_reset_confirm'),30    url(r'^password-reset_complete/$',auth_views.password_reset_complete,31        {'template_name':'account/password_reset_complete.html',32         },name='password_reset_complete'),33    #个人信æ¯è®¾ç½®è·¯å¾34    url(r'^my-information/$',views.myself,name='my_information'),35    url(r'^edit-my-information/$',views.myself_edit,name='edit_my_information'),36    url(r'^my-image/$', views.my_image,name='my_image'),...Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3  const browser = await chromium.launch();4  const context = await browser.newContext();5  const page = await context.newPage();6  await page.screenshot({ path: `google.png` });7  await page.reset();8  await page.screenshot({ path: `microsoft.png` });9  await browser.close();10})();Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3  const browser = await chromium.launch({ headless: false, slowMo: 1000 });4  const context = await browser.newContext();5  const page = await context.newPage();6  await page.click('text=Sign in');7  await page.fill('input[type="email"]', 'admin');8  await page.fill('input[type="password"]', 'admin');9  await page.click('text=Sign in');10  await page.reset();11  await page.click('text=Sign in');12  await page.fill('input[type="email"]', 'admin');13  await page.fill('input[type="password"]', 'admin');14  await page.click('text=Sign in');15  await browser.close();16})();Using AI Code Generation
1const { chromium } = require('playwright');2const browser = await chromium.launch();3const context = await browser.newContext();4const page = await context.newPage();5await page.screenshot({ path: 'example.png' });6await context.reset();7await page.screenshot({ path: 'example2.png' });8await browser.close();Using AI Code Generation
1import { chromium } from 'playwright';2(async () => {3  const browser = await chromium.launch();4  const context = await browser.newContext();5  const page = await context.newPage();6  await page.screenshot({ path: 'google.png' });7  await context.reset();8  await page.screenshot({ path: 'bing.png' });9  await browser.close();10})();11The Playwright team welcomes contributions from the community. Before submitting a pull request, please see the [contributing guide](Using AI Code Generation
1const { chromium } = require('playwright');2const { reset } = require('playwright/lib/server/browserType');3(async () => {4  const browser = await chromium.launch();5  const context = await browser.newContext();6  const page = await context.newPage();7  await reset();8  await browser.close();9})();10const { chromium } = require('playwright');11const { reset } = require('playwright/lib/server/browserType');12(async () => {13  const browser = await chromium.launch();14  const context = await browser.newContext();15  const page = await context.newPage();16  await reset();17  await browser.close();18})();19const { chromium } = require('playwright');20const { reset } = require('playwright/lib/server/browserType');21(async () => {22  const browser = await chromium.launch();23  const context = await browser.newContext();24  const page = await context.newPage();25  await reset();Using AI Code Generation
1const { reset } = require('@playwright/test/lib/server/inspectorServer');2await reset();3await browser.close();4await browser = await chromium.launchPersistentContext(userDataDir, {5    viewport: { width: 1280, height: 720 },6});7await page = await browser.newPage();Using AI Code Generation
1const { chromium } = require('playwright');2const { reset } = require('playwright/lib/server/browserType');3(async () => {4  const browser = await chromium.launch({ headless: false });5  const context = await browser.newContext();6  const page = await context.newPage();7  await reset(page);8  await browser.close();9})();LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
