def test_module_attributes(Script):
    def_, = Script('__name__').complete()
    assert def_.name == '__name__'
    assert def_.line is None
    assert def_.column is None
    str_, = def_.infer()
    assert str_.name == 'str'


def test_module__file__(Script, environment):
    assert not Script('__file__').infer()
    def_, = Script('__file__', path='example.py').infer()
    value = def_._name._value.get_safe_value()
    assert value.endswith('example.py')

    def_, = Script('import antigravity; antigravity.__file__').infer()
    value = def_._name._value.get_safe_value()
    assert value.endswith('.pyi')