Best Python code snippet using playwright-python
test_references.py
Source:test_references.py  
...48        top_reg21_x   = root.find_by_path("top.reg2[1].x")49        top_reg21_y   = root.find_by_path("top.reg2[1].y")50        with self.subTest("bad lookup"):51            with self.assertRaises(LookupError):52                top.get_property('thisisnotaprop')53            with self.assertRaises(LookupError):54                top.get_property('sw')55            with self.assertRaises(TypeError):56                top.get_property('sw', bad_kwarg=1234)57            self.assertEqual(top.get_property('name'), "top")58            self.assertEqual(top.get_property('name', default="NA"), "NA")59        with self.subTest("glbl_sig"):60            self.assertIs(glbl_sig.get_property('ref_prop'), None)61        with self.subTest("top"):62            self.assertEqual(top.get_property('ref_prop'), top_reg21_x)63            self.assertIs(top.get_property('ref_prop').inst, top_reg21_x.inst)64        with self.subTest("top.reg1"):65            self.assertEqual(top_reg1.get_property('ref_prop'), top_reg1_x)66            self.assertIs(top_reg1.get_property('ref_prop').inst, top_reg1_x.inst)67        with self.subTest("top.reg1.sig"):68            self.assertIs(top_reg1_sig.get_property('ref_prop'), None)69        with self.subTest("top.reg1.x"):70            self.assertEqual(top_reg1_x.get_property('resetsignal'), glbl_sig)71            self.assertIs(top_reg1_x.get_property('resetsignal').inst, glbl_sig.inst)72        with self.subTest("top.reg1.y"):73            self.assertEqual(top_reg1_y.get_property('resetsignal'), top_reg1_sig)74            self.assertIs(top_reg1_y.get_property('resetsignal').inst, top_reg1_sig.inst)75        with self.subTest("top.reg2[0]"):76            self.assertEqual(top_reg20.get_property('ref_prop'), top_reg20_x)77            self.assertIs(top_reg20.get_property('ref_prop').inst, top_reg20_x.inst)78        with self.subTest("top.reg2[0].sig"):79            self.assertIs(top_reg20_sig.get_property('ref_prop'), None)80        with self.subTest("top.reg2[0].x"):81            self.assertEqual(top_reg20_x.get_property('resetsignal'), glbl_sig)82            self.assertIs(top_reg20_x.get_property('resetsignal').inst, glbl_sig.inst)83        with self.subTest("top.reg2[0].y"):84            self.assertEqual(top_reg20_y.get_property('resetsignal'), top_reg20_sig)85            self.assertIs(top_reg20_y.get_property('resetsignal').inst, top_reg20_sig.inst)86        with self.subTest("top.reg2[1]"):87            self.assertEqual(top_reg21.get_property('ref_prop'), top_reg21_x)88            self.assertIs(top_reg21.get_property('ref_prop').inst, top_reg21_x.inst)89        with self.subTest("top.reg2[1].sig"):90            self.assertIs(top_reg21_sig.get_property('ref_prop'), None)91        with self.subTest("top.reg2[1].x"):92            self.assertEqual(top_reg21_x.get_property('resetsignal'), glbl_sig)93            self.assertIs(top_reg21_x.get_property('resetsignal').inst, glbl_sig.inst)94        with self.subTest("top.reg2[1].y"):95            self.assertEqual(top_reg21_y.get_property('resetsignal'), top_reg21_sig)96            self.assertIs(top_reg21_y.get_property('resetsignal').inst, top_reg21_sig.inst)97    def test_dynamic_lhs_refs(self):98        root = self.compile(99            ["rdl_src/references_dynamic_lhs.rdl"],100            "top"101        )102        glbl_sig      = root.find_by_path("glbl_sig")103        top           = root.find_by_path("top")104        top_reg1      = root.find_by_path("top.reg1")105        top_reg1_sig  = root.find_by_path("top.reg1.sig")106        top_reg1_x    = root.find_by_path("top.reg1.x")107        top_reg1_y    = root.find_by_path("top.reg1.y")108        top_reg20     = root.find_by_path("top.reg2[0]")109        top_reg20_sig = root.find_by_path("top.reg2[0].sig")110        top_reg20_x   = root.find_by_path("top.reg2[0].x")111        top_reg20_y   = root.find_by_path("top.reg2[0].y")112        top_reg21     = root.find_by_path("top.reg2[1]")113        top_reg21_sig = root.find_by_path("top.reg2[1].sig")114        top_reg21_x   = root.find_by_path("top.reg2[1].x")115        top_reg21_y   = root.find_by_path("top.reg2[1].y")116        with self.subTest("glbl_sig"):117            self.assertIs(glbl_sig.get_property('ref_prop'), None)118        with self.subTest("top"):119            self.assertIs(top.get_property('ref_prop'), None)120        with self.subTest("top.reg1"):121            self.assertEqual(top_reg1.get_property('ref_prop'), top_reg20)122            self.assertIs(top_reg1.get_property('ref_prop').inst, top_reg20.inst)123        with self.subTest("top.reg1.sig"):124            self.assertIs(top_reg1_sig.get_property('ref_prop'), None)125        with self.subTest("top.reg1.x"):126            self.assertEqual(top_reg1_x.get_property('ref_prop'), top_reg1_y)127            self.assertIs(top_reg1_x.get_property('ref_prop').inst, top_reg1_y.inst)128            self.assertEqual(top_reg1_x.get_property('resetsignal'), glbl_sig)129            self.assertIs(top_reg1_x.get_property('resetsignal').inst, glbl_sig.inst)130            self.assertEqual(top_reg1_x.get_property('next').name, "ored")131            self.assertEqual(top_reg1_x.get_property('next').node, top_reg20_y)132        with self.subTest("top.reg1.y"):133            self.assertEqual(top_reg1_y.get_property('ref_prop'), top_reg1_x)134            self.assertIs(top_reg1_y.get_property('ref_prop').inst, top_reg1_x.inst)135            self.assertEqual(top_reg1_y.get_property('resetsignal'), glbl_sig)136            self.assertIs(top_reg1_y.get_property('resetsignal').inst, glbl_sig.inst)137            self.assertEqual(top_reg1_y.get_property('next').name, "anded")138            self.assertEqual(top_reg1_y.get_property('next').node, top_reg1_x)139        with self.subTest("top.reg2[0]"):140            self.assertEqual(top_reg20.get_property('ref_prop'), top_reg21_x)141            self.assertIs(top_reg20.get_property('ref_prop').inst, top_reg21_x.inst)142        with self.subTest("top.reg2[0].sig"):143            self.assertIs(top_reg20_sig.get_property('ref_prop'), None)144        with self.subTest("top.reg2[0].x"):145            self.assertEqual(top_reg20_x.get_property('ref_prop'), top_reg1)146            self.assertIs(top_reg20_x.get_property('ref_prop').inst, top_reg1.inst)147            self.assertEqual(top_reg20_x.get_property('resetsignal'), top_reg20_sig)148            self.assertIs(top_reg20_x.get_property('resetsignal').inst, top_reg20_sig.inst)149        with self.subTest("top.reg2[0].y"):150            self.assertEqual(top_reg20_y.get_property('ref_prop'), top_reg1_x)151            self.assertIs(top_reg20_y.get_property('ref_prop').inst, top_reg1_x.inst)152            self.assertEqual(top_reg20_y.get_property('resetsignal'), glbl_sig)153            self.assertIs(top_reg20_y.get_property('resetsignal').inst, glbl_sig.inst)154            self.assertEqual(top_reg20_y.get_property('next').name, "anded")155            self.assertEqual(top_reg20_y.get_property('next').node, top_reg20_x)156        with self.subTest("top.reg2[1]"):157            self.assertEqual(top_reg21.get_property('ref_prop'), top_reg21_x)158            self.assertIs(top_reg21.get_property('ref_prop').inst, top_reg21_x.inst)159        with self.subTest("top.reg2[1].sig"):160            self.assertIs(top_reg21_sig.get_property('ref_prop'), None)161        with self.subTest("top.reg2[1].x"):162            self.assertEqual(top_reg21_x.get_property('ref_prop'), top_reg1)163            self.assertIs(top_reg21_x.get_property('ref_prop').inst, top_reg1.inst)164            self.assertEqual(top_reg21_x.get_property('resetsignal'), top_reg21_sig)165            self.assertIs(top_reg21_x.get_property('resetsignal').inst, top_reg21_sig.inst)166        with self.subTest("top.reg2[1].y"):167            self.assertEqual(top_reg21_y.get_property('ref_prop'), top_reg1_x)168            self.assertIs(top_reg21_y.get_property('ref_prop').inst, top_reg1_x.inst)169            self.assertEqual(top_reg21_y.get_property('resetsignal'), glbl_sig)170            self.assertIs(top_reg21_y.get_property('resetsignal').inst, glbl_sig.inst)171            self.assertEqual(top_reg21_y.get_property('next').name, "anded")172            self.assertEqual(top_reg21_y.get_property('next').node, top_reg21_x)173    def test_default_lhs_refs(self):174        root = self.compile(175            ["rdl_src/references_default_lhs.rdl"],176            "top"177        )178        glbl_sig      = root.find_by_path("glbl_sig")179        top           = root.find_by_path("top")180        top_reg1      = root.find_by_path("top.reg1")181        top_reg1_sig  = root.find_by_path("top.reg1.sig")182        top_reg1_x    = root.find_by_path("top.reg1.x")183        top_reg1_y    = root.find_by_path("top.reg1.y")184        top_reg20     = root.find_by_path("top.reg2[0]")185        top_reg20_sig = root.find_by_path("top.reg2[0].sig")186        top_reg20_x   = root.find_by_path("top.reg2[0].x")187        top_reg20_y   = root.find_by_path("top.reg2[0].y")188        top_reg21     = root.find_by_path("top.reg2[1]")189        top_reg21_sig = root.find_by_path("top.reg2[1].sig")190        top_reg21_x   = root.find_by_path("top.reg2[1].x")191        top_reg21_y   = root.find_by_path("top.reg2[1].y")192        top_reg3      = root.find_by_path("top.reg3")193        top_reg3_z    = root.find_by_path("top.reg3.z")194        with self.subTest("glbl_sig"):195            self.assertIs(glbl_sig.get_property('ref_prop'), None)196        with self.subTest("top"):197            self.assertIs(top.get_property('ref_prop'), None)198        with self.subTest("top.reg1"):199            self.assertIs(top_reg1.get_property('ref_prop'), None)200        with self.subTest("top.reg1.sig"):201            self.assertIs(top_reg1_sig.get_property('ref_prop'), None)202        with self.subTest("top.reg1.x"):203            self.assertIs(top_reg1_x.get_property('ref_prop'), None)204            self.assertEqual(top_reg1_x.get_property('resetsignal'), glbl_sig)205            self.assertIs(top_reg1_x.get_property('resetsignal').inst, glbl_sig.inst)206        with self.subTest("top.reg1.y"):207            self.assertEqual(top_reg1_y.get_property('ref_prop'), top_reg1_x)208            self.assertIs(top_reg1_y.get_property('ref_prop').inst, top_reg1_x.inst)209            self.assertEqual(top_reg1_y.get_property('resetsignal'), top_reg1_sig)210            self.assertIs(top_reg1_y.get_property('resetsignal').inst, top_reg1_sig.inst)211            self.assertEqual(top_reg1_y.get_property('next').name, "anded")212            self.assertEqual(top_reg1_y.get_property('next').node, top_reg1_x)213        with self.subTest("top.reg2[0]"):214            self.assertIs(top_reg20.get_property('ref_prop'), None)215        with self.subTest("top.reg2[0].sig"):216            self.assertIs(top_reg20_sig.get_property('ref_prop'), None)217        with self.subTest("top.reg2[0].x"):218            self.assertIs(top_reg20_x.get_property('ref_prop'), None)219            self.assertEqual(top_reg20_x.get_property('resetsignal'), glbl_sig)220            self.assertIs(top_reg20_x.get_property('resetsignal').inst, glbl_sig.inst)221        with self.subTest("top.reg2[0].y"):222            self.assertEqual(top_reg20_y.get_property('ref_prop'), top_reg20_x)223            self.assertIs(top_reg20_y.get_property('ref_prop').inst, top_reg20_x.inst)224            self.assertEqual(top_reg20_y.get_property('resetsignal'), top_reg20_sig)225            self.assertIs(top_reg20_y.get_property('resetsignal').inst, top_reg20_sig.inst)226            self.assertEqual(top_reg20_y.get_property('next').name, "anded")227            self.assertEqual(top_reg20_y.get_property('next').node, top_reg20_x)228        with self.subTest("top.reg2[1]"):229            self.assertIs(top_reg21.get_property('ref_prop'), None)230        with self.subTest("top.reg2[1].sig"):231            self.assertIs(top_reg21_sig.get_property('ref_prop'), None)232        with self.subTest("top.reg2[1].x"):233            self.assertIs(top_reg21_x.get_property('ref_prop'), None)234            self.assertEqual(top_reg21_x.get_property('resetsignal'), glbl_sig)235            self.assertIs(top_reg21_x.get_property('resetsignal').inst, glbl_sig.inst)236        with self.subTest("top.reg2[1].y"):237            self.assertEqual(top_reg21_y.get_property('ref_prop'), top_reg21_x)238            self.assertIs(top_reg21_y.get_property('ref_prop').inst, top_reg21_x.inst)239            self.assertEqual(top_reg21_y.get_property('resetsignal'), top_reg21_sig)240            self.assertIs(top_reg21_y.get_property('resetsignal').inst, top_reg21_sig.inst)241            self.assertEqual(top_reg21_y.get_property('next').name, "anded")242            self.assertEqual(top_reg21_y.get_property('next').node, top_reg21_x)243        with self.subTest("top.reg3"):244            self.assertEqual(top_reg3.get_property('ref_prop'), top_reg1)245            self.assertIs(top_reg3.get_property('ref_prop').inst, top_reg1.inst)246        with self.subTest("top.reg3.z"):247            self.assertEqual(top_reg3_z.get_property('ref_prop'), top_reg1)248            self.assertIs(top_reg3_z.get_property('ref_prop').inst, top_reg1.inst)249            self.assertEqual(top_reg3_z.get_property('resetsignal'), top_reg21_sig)250            self.assertIs(top_reg3_z.get_property('resetsignal').inst, top_reg21_sig.inst)251            self.assertEqual(top_reg3_z.get_property('next').name, "ored")252            self.assertEqual(top_reg3_z.get_property('next').node, top_reg20_y)253    def test_signal_dpa(self):254        root = self.compile(255            ["rdl_src/signal_scope.rdl"],256            "top"257        )258        my_signal = root.find_by_path("top.my_signal")259        b = root.find_by_path("top.a.b")260        my_signal_via_prop = b.get_property('resetsignal')261        self.assertEqual(my_signal, my_signal_via_prop)262        self.assertEqual(263            my_signal.get_property('name'),264            my_signal_via_prop.get_property('name')265        )...pyccarui.py
Source:pyccarui.py  
...33def get_font(size):34    if size not in deffont:35        deffont[size] = pygame.font.Font(None, size)36    return deffont[size]37def get_property(win_id, property):38    value = None39    if win_id in windows:40        W = windows[win_id]41        if property in W:42            value = W[property]43        elif property in defprop:44            value = defprop[property]45    return value46def ui_set_property(win_id, property, value):47    if win_id not in windows:48        windows[win_id] = {}49    W = windows[win_id]50    W[property] = value51def draw_border(win_id, bbox, flags):52    BG = get_property(win_id, 'BG')53    if flags & 0x04: # enabled54        FG = get_property(win_id, 'FG')55        if flags & 0x08: # active56            thickness = get_property(win_id, 'a-thick')57        else: # inactive58            thickness = get_property(win_id, 'n-thin')59    else: # disabled60        FG = get_property(win_id, 'dis_FG')61        thickness = get_property(win_id, 'n-thin')62    d = get_property(win_id, 'inset')63    if thickness > d:64        thickness = d65    (x, y, w, h) = bbox66    pygame.draw.rect(screen, FG, (x+d-thickness, y+d-thickness, w-2*d+2*thickness, h-2*d+2*thickness), 0)67    pygame.draw.rect(screen, BG, (x+d, y+d, w-2*d, h-2*d), 0)68def draw_back(win_id, bbox, flags):69    BG = get_property(win_id, 'BG')70    if flags & 0x04: # enabled71        FG = get_property(win_id, 'FG')72    else: # disabled73        FG = get_property(win_id, 'dis_FG')74    thickness = get_property(win_id, 'line')75    d         = get_property(win_id, 'inset')76    (x, y, w, h) = bbox77    x = x + 3 * d78    y = y + 3 * d79    w = w - 6 * d80    h = h - 6 * d81    hw = int(round(w/2))82    hh = int(round(h/2))83    ht = int(round(thickness/2))84    centre = (x+hw, y+hh)85    radius = hw86    pygame.draw.circle(screen, FG, centre, radius, 0)87    pygame.draw.circle(screen, BG, centre, radius-thickness, 0)88    bboxi = (x, y+hh, hw, hh)89    pygame.draw.rect(screen, BG, bboxi, 0)90    xarr = x + ht91    yarr = y + hh92    pygame.draw.polygon(screen, FG, [(xarr-d,yarr), (xarr+d,yarr), (xarr,yarr+d)], 0)93def draw_main(win_id, bbox, flags):94    BG = get_property(win_id, 'BG')95    if flags & 0x04: # enabled96        FG = get_property(win_id, 'FG')97    else: # disabled98        FG = get_property(win_id, 'dis_FG')99    thickness = get_property(win_id, 'line')100    d         = get_property(win_id, 'inset')101    (x, y, w, h) = bbox102    x = x + 3 * d103    y = y + 3 * d104    w = w - 6 * d105    h = h - 6 * d106    t = int(round(h/7))107    for i in range(0, 4):108        bboxi = (x, y+2*i*t, w, t)109        pygame.draw.rect(screen, FG, bboxi, 0)110def draw_exit(win_id, bbox, flags):111    BG = get_property(win_id, 'BG')112    if flags & 0x04: # enabled113        FG = get_property(win_id, 'FG')114    else: # disabled115        FG = get_property(win_id, 'dis_FG')116    thickness = get_property(win_id, 'line')117    d         = get_property(win_id, 'inset')118    (x, y, w, h) = bbox119    x = x + 3 * d120    y = y + 3 * d121    w = w - 6 * d122    h = h - 6 * d123    hw = int(round(w/2))124    hh = int(round(h/2))125    ht = int(round(thickness/2))126    centre = (x+hw, y+hh)127    radius = hw128    pygame.draw.circle(screen, FG, centre, radius, 0)129    pygame.draw.circle(screen, BG, centre, radius-thickness, 0)130    bboxi = (x+hw-thickness-ht, y, 3*thickness, hh)131    pygame.draw.rect(screen, BG, bboxi, 0)132    bboxi = (x+hw-ht, y-thickness, thickness, hh+thickness)133    pygame.draw.rect(screen, FG, bboxi, 0)134def draw_up(win_id, bbox, flags):135    if flags & 0x04: # enabled136        FG = get_property(win_id, 'FG')137    else: # disabled138        FG = get_property(win_id, 'dis_FG')139    thickness = get_property(win_id, 'line')140    d         = get_property(win_id, 'inset')141    (x, y, w, h) = bbox142    hw = int(round(w/2))143    xl = x + 3*d144    yt = y + 3*d145    x0 = x + hw146    xr = x + w - 3*d147    yb = y + h - 3*d148    pygame.draw.polygon(screen, FG, [(xl,yb), (x0,yt), (xr,yb)], 0)149def draw_down(win_id, bbox, flags):150    if flags & 0x04: # enabled151        FG = get_property(win_id, 'FG')152    else: # disabled153        FG = get_property(win_id, 'dis_FG')154    thickness = get_property(win_id, 'line')155    d         = get_property(win_id, 'inset')156    (x, y, w, h) = bbox157    hw = int(round(w/2))158    xl = x + 3*d159    yt = y + 3*d160    x0 = x + hw161    xr = x + w - 3*d162    yb = y + h - 3*d163    pygame.draw.polygon(screen, FG, [(xl,yt), (x0,yb), (xr,yt)], 0)164def draw_scroll(win_id, bbox, flags):165    d      = get_property(win_id, 'inset')166    scroll = get_property(win_id, 'Scroll')167    (x, y, w, h) = bbox168    pygame.draw.rect(screen, grey, (x+d, y, w-2*d, h), 0)169    if scroll:170        (s_min, s_max) = scroll171        bboxi = (x+2*d, int(round(y+(h*s_min)/100)), w-4*d, int(round((h*(s_max-s_min))/100)))172        pygame.draw.rect(screen, blue, bboxi, 0)173def draw_menu_item(win_id, bbox, flags):174    d    = get_property(win_id, 'inset')175    FG   = get_property(win_id, 'FG')176    text = get_property(win_id, 'Label')177    size = get_property(win_id, 'size')178    font = get_font(size)179    label = font.render(str(text), 1, (FG))180    (x, y, w, h) = bbox181    screen.blit(label, (x+2*d,y+2*d))182    if flags & 0x10: # we have a submenu183        thickness = get_property(win_id, 'line')184        xl = x + w - 6*d185        yt = y + 2*d186        y0 = y + h/2187        xr = x + w - 2*d188        yb = y + h - 2*d189        pygame.draw.polygon(screen, FG, [(xl,yt), (xl,yb), (xr,y0)], 0)190def draw_canvas_tracker_point(bbox, location, BG, FG):191    (x, y, w, h) = bbox192    half_size = int(round(min(w,h)/12)) # half-size of square to draw around touch point193    thickness = 2194    (tx, ty) = location195    if x + half_size > tx:196        sx = x197        sw = half_size + tx - x198    elif tx + half_size > x + w:199        sx = tx - half_size200        sw = x + w - sx201    else:202        sx = tx - half_size203        sw = 2 * half_size204    if y + half_size > ty:205        sy = y206        sh = half_size + ty - y207    elif ty + half_size > y + h:208        sy = ty - half_size209        sh = y + h - sy210    else:211        sy = ty - half_size212        sh = 2 * half_size213    pygame.draw.rect(screen, FG, (sx, sy, sw, sh), 0)214    pygame.draw.rect(screen, BG, (sx+thickness, sy+thickness, sw-2*thickness, sh-2*thickness), 0)215def draw_canvas_tracker(win_id, bbox, flags):216    count = get_property(win_id, 'CT#')217    loc_1 = None218    loc_2 = None219    if count is not None:220        if count > 0:221            loc_1 = get_property(win_id, 'CT1')222        if count > 1:223            loc_2 = get_property(win_id, 'CT2')224    if loc_1 is not None:225        FG = get_property(win_id, 'FG')226        BG = get_property(win_id, 'BG')227        draw_canvas_tracker_point(bbox, loc_1, BG, FG)228        if loc_2 is not None:229            draw_canvas_tracker_point(bbox, loc_2, BG, FG)230def ui_draw(win_id):231    flags = get_property(win_id, 'flags')232    if flags & 0x01: # visible233        bbox = get_property(win_id, 'bbox')234        BG   = get_property(win_id, 'BG')235        pygame.draw.rect(screen, BG, bbox, 0) # 0-thickness = fill236    if (flags & 0x21) == 0x01: # visible, but not blank237        if flags & 0x02: # there's a border238            draw_border(win_id, bbox, flags)239        type = get_property(win_id, 'type')240        if type == 'Back':241            draw_back(win_id, bbox, flags)242        elif type == 'Main':243            draw_main(win_id, bbox, flags)244        elif type == 'Exit':245            draw_exit(win_id, bbox, flags)246        elif type == 'Up':247            draw_up(win_id, bbox, flags)248        elif type == 'Down':249            draw_down(win_id, bbox, flags)250        elif type == 'Scroll':251            draw_scroll(win_id, bbox, flags)252        elif type == 'Menu Item':253            draw_menu_item(win_id, bbox, flags)...test_prop_side_effects.py
Source:test_prop_side_effects.py  
...7            "top"8        )9        #-----------------------------------------------------------------------10        with self.subTest("bool pair"):11            self.assertFalse(root.find_by_path("top.my_signal").get_property('async'))12            self.assertTrue(root.find_by_path("top.my_signal").get_property('sync'))13        #-----------------------------------------------------------------------14        with self.subTest("rclr"):15            self.assertFalse(root.find_by_path("top.r1.f0").get_property('rclr'))16            self.assertTrue(root.find_by_path("top.r1.f1").get_property('rclr'))17            self.assertFalse(root.find_by_path("top.r1.f2").get_property('rclr'))18            self.assertTrue(root.find_by_path("top.r1.f3").get_property('rclr'))19            self.assertFalse(root.find_by_path("top.r1.f4").get_property('rclr'))20            self.assertTrue(root.find_by_path("top.r1.f5").get_property('rclr'))21            self.assertFalse(root.find_by_path("top.r1.f6").get_property('rclr'))22            self.assertTrue(root.find_by_path("top.r1.f7").get_property('rclr'))23            self.assertFalse(root.find_by_path("top.r1.f8").get_property('rclr'))24        with self.subTest("rset"):25            self.assertFalse(root.find_by_path("top.r1.f0").get_property('rset'))26            self.assertFalse(root.find_by_path("top.r1.f1").get_property('rset'))27            self.assertTrue(root.find_by_path("top.r1.f2").get_property('rset'))28            self.assertFalse(root.find_by_path("top.r1.f3").get_property('rset'))29            self.assertTrue(root.find_by_path("top.r1.f4").get_property('rset'))30            self.assertFalse(root.find_by_path("top.r1.f5").get_property('rset'))31            self.assertTrue(root.find_by_path("top.r1.f6").get_property('rset'))32            self.assertFalse(root.find_by_path("top.r1.f7").get_property('rset'))33            self.assertTrue(root.find_by_path("top.r1.f8").get_property('rset'))34        with self.subTest("onread"):35            self.assertIsNone(root.find_by_path("top.r1.f0").get_property('onread'))36            self.assertEqual(37                root.find_by_path("top.r1.f1").get_property('onread'),38                rdltypes.OnReadType.rclr39            )40            self.assertEqual(41                root.find_by_path("top.r1.f2").get_property('onread'),42                rdltypes.OnReadType.rset43            )44            self.assertEqual(45                root.find_by_path("top.r1.f3").get_property('onread'),46                rdltypes.OnReadType.rclr47            )48            self.assertEqual(49                root.find_by_path("top.r1.f4").get_property('onread'),50                rdltypes.OnReadType.rset51            )52            self.assertEqual(53                root.find_by_path("top.r1.f5").get_property('onread'),54                rdltypes.OnReadType.rclr55            )56            self.assertEqual(57                root.find_by_path("top.r1.f6").get_property('onread'),58                rdltypes.OnReadType.rset59            )60            self.assertEqual(61                root.find_by_path("top.r1.f7").get_property('onread'),62                rdltypes.OnReadType.rclr63            )64            self.assertEqual(65                root.find_by_path("top.r1.f8").get_property('onread'),66                rdltypes.OnReadType.rset67            )68        #-----------------------------------------------------------------------69        with self.subTest("woclr"):70            self.assertFalse(root.find_by_path("top.r2.f0").get_property('woclr'))71            self.assertTrue(root.find_by_path("top.r2.f1").get_property('woclr'))72            self.assertFalse(root.find_by_path("top.r2.f2").get_property('woclr'))73            self.assertTrue(root.find_by_path("top.r2.f3").get_property('woclr'))74            self.assertFalse(root.find_by_path("top.r2.f4").get_property('woclr'))75            self.assertTrue(root.find_by_path("top.r2.f5").get_property('woclr'))76            self.assertFalse(root.find_by_path("top.r2.f6").get_property('woclr'))77            self.assertTrue(root.find_by_path("top.r2.f7").get_property('woclr'))78            self.assertFalse(root.find_by_path("top.r2.f8").get_property('woclr'))79        with self.subTest("woset"):80            self.assertFalse(root.find_by_path("top.r2.f0").get_property('woset'))81            self.assertFalse(root.find_by_path("top.r2.f1").get_property('woset'))82            self.assertTrue(root.find_by_path("top.r2.f2").get_property('woset'))83            self.assertFalse(root.find_by_path("top.r2.f3").get_property('woset'))84            self.assertTrue(root.find_by_path("top.r2.f4").get_property('woset'))85            self.assertFalse(root.find_by_path("top.r2.f5").get_property('woset'))86            self.assertTrue(root.find_by_path("top.r2.f6").get_property('woset'))87            self.assertFalse(root.find_by_path("top.r2.f7").get_property('woset'))88            self.assertTrue(root.find_by_path("top.r2.f8").get_property('woset'))89        with self.subTest("onwrite"):90            self.assertIsNone(root.find_by_path("top.r2.f0").get_property('onwrite'))91            self.assertEqual(92                root.find_by_path("top.r2.f1").get_property('onwrite'),93                rdltypes.OnWriteType.woclr94            )95            self.assertEqual(96                root.find_by_path("top.r2.f2").get_property('onwrite'),97                rdltypes.OnWriteType.woset98            )99            self.assertEqual(100                root.find_by_path("top.r2.f3").get_property('onwrite'),101                rdltypes.OnWriteType.woclr102            )103            self.assertEqual(104                root.find_by_path("top.r2.f4").get_property('onwrite'),105                rdltypes.OnWriteType.woset106            )107            self.assertEqual(108                root.find_by_path("top.r2.f5").get_property('onwrite'),109                rdltypes.OnWriteType.woclr110            )111            self.assertEqual(112                root.find_by_path("top.r2.f6").get_property('onwrite'),113                rdltypes.OnWriteType.woset114            )115            self.assertEqual(116                root.find_by_path("top.r2.f7").get_property('onwrite'),117                rdltypes.OnWriteType.woclr118            )119            self.assertEqual(120                root.find_by_path("top.r2.f8").get_property('onwrite'),121                rdltypes.OnWriteType.woset122            )123        #-----------------------------------------------------------------------124        with self.subTest("incrthreshold alias"):125            self.assertEqual(126                root.find_by_path("top.r3.f1").get_property('incrthreshold'),127                1128            )129            self.assertEqual(130                root.find_by_path("top.r3.f1").get_property('threshold'),131                1132            )133            self.assertEqual(134                root.find_by_path("top.r3.f2").get_property('incrthreshold'),135                2136            )137            self.assertEqual(138                root.find_by_path("top.r3.f2").get_property('threshold'),139                2140            )141        with self.subTest("incrsaturate alias"):142            self.assertEqual(143                root.find_by_path("top.r3.f1").get_property('incrsaturate'),144                3145            )146            self.assertEqual(147                root.find_by_path("top.r3.f1").get_property('saturate'),148                3149            )150            self.assertEqual(151                root.find_by_path("top.r3.f2").get_property('incrsaturate'),152                4153            )154            self.assertEqual(155                root.find_by_path("top.r3.f2").get_property('saturate'),156                4...test_parameters.py
Source:test_parameters.py  
...13        reg8   = root.find_by_path("myAmap.reg8")14        mem32  = root.find_by_path("myAmap.mem32")15        mem64  = root.find_by_path("myAmap.mem64")16        with self.subTest("reg32"):17            self.assertEqual(reg32.get_property('regwidth'), 32)18            self.assertEqual(reg32.get_property('shared'), True)19            data = reg32.get_child_by_name("data")20            self.assertEqual(data.width, 31)21            self.assertEqual(data.high, 30)22            self.assertEqual(data.low, 0)23        with self.subTest("reg32a"):24            self.assertEqual(reg32a.get_property('regwidth'), 32)25            self.assertEqual(reg32a.get_property('shared'), True)26            data = reg32a.get_child_by_name("data")27            self.assertEqual(data.width, 31)28            self.assertEqual(data.high, 30)29            self.assertEqual(data.low, 0)30        with self.subTest("reg16"):31            self.assertEqual(reg16.get_property('regwidth'), 16)32            self.assertEqual(reg16.get_property('shared'), True)33            data = reg16.get_child_by_name("data")34            self.assertEqual(data.width, 15)35            self.assertEqual(data.high, 14)36            self.assertEqual(data.low, 0)37        with self.subTest("reg8"):38            self.assertEqual(reg8.get_property('regwidth'), 8)39            self.assertEqual(reg8.get_property('shared'), False)40            data = reg8.get_child_by_name("data")41            self.assertEqual(data.width, 7)42            self.assertEqual(data.high, 6)43            self.assertEqual(data.low, 0)44        with self.subTest("mem32"):45            self.assertEqual(mem32.get_property('mementries'), 4096)46            self.assertEqual(mem32.get_property('memwidth'), 32)47        with self.subTest("mem64"):48            self.assertEqual(mem64.get_property('mementries'), 4096)49            self.assertEqual(mem64.get_property('memwidth'), 64)50    def test_more(self):51        root = self.compile(52            ["rdl_src/parameters.rdl"],53            "amap2"54        )55        reg1 = root.find_by_path("amap2.reg1")56        reg2 = root.find_by_path("amap2.reg2")57        reg3 = root.find_by_path("amap2.reg3")58        with self.subTest("reg1"):59            self.assertEqual(reg1.inst.type_name, "param_reg")60            self.assertEqual(reg1.get_property('name'), "myname")61            self.assertEqual(reg1.get_property('shared'), False)62            data = reg1.get_child_by_name("data")63            self.assertEqual(data.get_property('hdl_path_slice'), ["dat"])64        with self.subTest("reg2"):65            self.assertEqual(reg2.inst.type_name, "param_reg")66            self.assertEqual(reg2.get_property('name'), "myname")67            self.assertEqual(reg2.get_property('shared'), False)68            data = reg2.get_child_by_name("data")69            self.assertEqual(data.get_property('hdl_path_slice'), ["dat"])70        with self.subTest("reg3"):71            self.assertEqual(reg3.inst.type_name, "param_reg_NAME_a36638b4_SHARED_t_FIELD_SLICES_184d423e")72            self.assertEqual(reg3.get_property('name'), "othername")73            self.assertEqual(reg3.get_property('shared'), True)74            data = reg3.get_child_by_name("data")75            self.assertEqual(data.get_property('hdl_path_slice'), ["foo"])76    def test_nested(self):77        root = self.compile(78            ["rdl_src/parameters.rdl"],79            "nested"80        )81        f1 = root.find_by_path("nested.rf_inst.r_inst1.f")82        f2 = root.find_by_path("nested.rf_inst.r_inst2.f")83        f3 = root.find_by_path("nested.r1_inst.f")84        with self.subTest("f1"):85            self.assertEqual(f1.width, 4)86        with self.subTest("f2"):87            self.assertEqual(f2.width, 4)88        with self.subTest("f3"):89            self.assertEqual(f3.width, 5)90    def test_elab_defaults(self):91        root = self.compile(92            ["rdl_src/parameters.rdl"],93            "elab_params",94            parameters={}95        )96        f1 = root.find_by_path("elab_params.r1.f")97        f2 = root.find_by_path("elab_params.r2.f")98        f3 = root.find_by_path("elab_params.r3.f")99        self.assertEqual(f1.width, 1)100        self.assertEqual(f2.width, 2)101        self.assertEqual(f3.width, 3)102        self.assertEqual(f1.get_property('onwrite'), rdlt.OnWriteType.woset)103        self.assertEqual(f2.get_property('donttest'), True)104        self.assertEqual(f3.get_property('name'), "default")105    def test_elab_override(self):106        root = self.compile(107            ["rdl_src/parameters.rdl"],108            "elab_params",109            parameters={110                "STR":"python!",111                "INT": 5,112                "INTARR": [6,7],113                "ONWR": rdlt.OnWriteType.woclr,114                "BOOL": False115            }116        )117        f1 = root.find_by_path("elab_params.r1.f")118        f2 = root.find_by_path("elab_params.r2.f")119        f3 = root.find_by_path("elab_params.r3.f")120        self.assertEqual(f1.width, 5)121        self.assertEqual(f2.width, 6)122        self.assertEqual(f3.width, 7)123        self.assertEqual(f1.get_property('onwrite'), rdlt.OnWriteType.woclr)124        self.assertEqual(f2.get_property('donttest'), False)125        self.assertEqual(f3.get_property('name'), "python!")126    def test_elab_override_via_eval(self):127        rdlc = RDLCompiler()128        root = self.compile(129            ["rdl_src/parameters.rdl"],130            "elab_params",131            parameters={132                "STR": rdlc.eval('"python!"'),133                "INT":  rdlc.eval('5'),134                "INTARR":  rdlc.eval("'{6,7}"),135                "ONWR":  rdlc.eval('woclr'),136                "BOOL":  rdlc.eval('100/2 - 50')137            }138        )139        f1 = root.find_by_path("elab_params.r1.f")140        f2 = root.find_by_path("elab_params.r2.f")141        f3 = root.find_by_path("elab_params.r3.f")142        self.assertEqual(f1.width, 5)143        self.assertEqual(f2.width, 6)144        self.assertEqual(f3.width, 7)145        self.assertEqual(f1.get_property('onwrite'), rdlt.OnWriteType.woclr)146        self.assertEqual(f2.get_property('donttest'), False)147        self.assertEqual(f3.get_property('name'), "python!")148    def test_param_scope(self):149        root = self.compile(150            ["rdl_src/parameters.rdl"],151            "param_scope"152        )153        ffX = root.find_by_path("param_scope.rfX.rf3.rf2.rr.ff")154        ffY = root.find_by_path("param_scope.rfY.rf3.rf2.rr.ff")155        ffZ = root.find_by_path("param_scope.rfZ.rf3.rf2.rr.ff")156        self.assertEqual(ffX.width, 2)157        self.assertEqual(ffY.width, 3)...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!!
