summaryrefslogtreecommitdiff
path: root/testing/cffi0/test_platform.py
blob: 55446ec3741a72754ca5ed40124b7adc85ee40a1 (plain)
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
import os
from cffi.ffiplatform import maybe_relative_path, flatten


def test_not_absolute():
    assert maybe_relative_path('foo/bar') == 'foo/bar'
    assert maybe_relative_path('test_platform.py') == 'test_platform.py'

def test_different_absolute():
    p = os.path.join('..', 'baz.py')
    assert maybe_relative_path(p) == p

def test_absolute_mapping():
    p = os.path.abspath('baz.py')
    assert maybe_relative_path(p) == 'baz.py'
    foobaz = os.path.join('foo', 'baz.py')
    assert maybe_relative_path(os.path.abspath(foobaz)) == foobaz

def test_flatten():
    assert flatten("foo") == "3sfoo"
    assert flatten(-10000000000000000000000000000) == \
           "-10000000000000000000000000000i"
    assert flatten([4, 5]) == "2l4i5i"
    assert flatten({4: 5}) == "1d4i5i"
    assert flatten({"foo": ("bar", "baaz")}) == "1d3sfoo2l3sbar4sbaaz"