File: C:/Users/fred/anaconda3/Lib/site-packages/anaconda_project/internal/test/test_directory_contains.py
# -*- coding: utf-8 -*-
# -----------------------------------------------------------------------------
# Copyright (c) 2016, Anaconda, Inc. All rights reserved.
#
# Licensed under the terms of the BSD 3-Clause License.
# The full license is in the file LICENSE.txt, distributed with this software.
# -----------------------------------------------------------------------------
from __future__ import absolute_import, print_function
import os
from anaconda_project.internal.directory_contains import (directory_contains_subdirectory,
subdirectory_relative_to_directory)
from anaconda_project.internal.test.tmpfile_utils import with_directory_contents
def test_does_contain():
def check_does_contain(dirname):
subdir = os.path.join(dirname, "foo")
# subdir doesn't have to actually exist, so don't create it
assert directory_contains_subdirectory(dirname, subdir)
subsubdir = os.path.join(subdir, "bar")
assert directory_contains_subdirectory(dirname, subsubdir)
assert directory_contains_subdirectory(subdir, subsubdir)
with_directory_contents(dict(), check_does_contain)
def test_does_not_contain():
def check_does_not_contain(dirname):
assert not directory_contains_subdirectory(dirname, "/")
assert not dirname.endswith("/")
common_prefix_not_subdir = dirname + "foobar"
assert not directory_contains_subdirectory(dirname, common_prefix_not_subdir)
# we don't contain ourselves
assert not directory_contains_subdirectory(dirname, dirname)
with_directory_contents(dict(), check_does_not_contain)
def test_make_relative():
def check(dirname):
foo = os.path.join(dirname, 'foo')
assert 'foo' == subdirectory_relative_to_directory(foo, dirname)
foobar = os.path.join(dirname, os.path.join('foo', 'bar'))
assert os.path.join('foo', 'bar') == subdirectory_relative_to_directory(foobar, dirname)
# keep the path absolute if it isn't inside the parent
parent_of_dirname = os.path.dirname(dirname)
assert parent_of_dirname == subdirectory_relative_to_directory(parent_of_dirname, dirname)
with_directory_contents(dict(), check)