403Webshell
Server IP : 199.250.200.62  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux vps37394.inmotionhosting.com 3.10.0-1160.119.1.vz7.224.4 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
User : jasonp18 ( 1000)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/2/cwd/proc/2/cwd/opt/imh-python/lib/python3.9/site-packages/IPython/utils/tests/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/2/cwd/proc/2/cwd/opt/imh-python/lib/python3.9/site-packages/IPython/utils/tests/test_dir2.py
from IPython.utils.dir2 import dir2

import pytest


class Base(object):
    x = 1
    z = 23


def test_base():
    res = dir2(Base())
    assert "x" in res
    assert "z" in res
    assert "y" not in res
    assert "__class__" in res
    assert res.count("x") == 1
    assert res.count("__class__") == 1


def test_SubClass():
    class SubClass(Base):
        y = 2

    res = dir2(SubClass())
    assert "y" in res
    assert res.count("y") == 1
    assert res.count("x") == 1


def test_SubClass_with_trait_names_attr():
    # usecase: trait_names is used in a class describing psychological classification

    class SubClass(Base):
        y = 2
        trait_names = 44

    res = dir2(SubClass())
    assert "trait_names" in res


def test_misbehaving_object_without_trait_names():
    # dir2 shouldn't raise even when objects are dumb and raise
    # something other than AttribteErrors on bad getattr.

    class MisbehavingGetattr:
        def __getattr__(self, attr):
            raise KeyError("I should be caught")

        def some_method(self):
            return True

    class SillierWithDir(MisbehavingGetattr):
        def __dir__(self):
            return ["some_method"]

    for bad_klass in (MisbehavingGetattr, SillierWithDir):
        obj = bad_klass()

        assert obj.some_method()

        with pytest.raises(KeyError):
            obj.other_method()

        res = dir2(obj)
        assert "some_method" in res

Youez - 2016 - github.com/yon3zu
LinuXploit