about summary refs log tree commit diff stats
path: root/tests/ranger/container/test_fsobject.py
blob: 73d2024ac608cd1f5504eaa4778aed968962f414 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import pytest
import operator

from ranger.container.fsobject import FileSystemObject


class MockFM(object):
    """Used to fulfill the dependency by FileSystemObject."""

    default_linemodes = []


def create_filesystem_object(path):
    """Create a FileSystemObject without an fm object."""
    fso = FileSystemObject.__new__(FileSystemObject)
    fso.fm = MockFM()
    fso.__init__(path)
    return fso


def test_basename_natural1():
    """Test filenames without extensions."""
    fsos = [create_filesystem_object(path)
            for path in ("hello", "hello1", "hello2")]
    assert(fsos == sorted(fsos[::-1], key=operator.attrgetter("basename_natural")))
    assert(fsos == sorted(fsos[::-1], key=operator.attrgetter("basename_natural_lower")))


def test_basename_natural2():
    """Test filenames with extensions."""
    fsos = [create_filesystem_object(path)
            for path in ("hello", "hello.txt", "hello1.txt", "hello2.txt")]
    assert(fsos == sorted(fsos[::-1], key=operator.attrgetter("basename_natural")))
    assert(fsos == sorted(fsos[::-1], key=operator.attrgetter("basename_natural_lower")))