Sha256: e699a5f761a8c11817cd91b3575dc9ea11717452eeb30b4cb918bef78a664d93

Contents?: true

Size: 1.56 KB

Versions: 4

Compression:

Stored size: 1.56 KB

Contents

import pytest
import os
import sys
import inkcpp_py as ink

@pytest.fixture(scope='session', autouse=True)
def inklecate_cmd():
    res = os.getenv("INKLECATE")
    if res is None or res == "":
        return "inklecate"
    return res


def extract_paths(tmpdir):
    def res(ink_source):
        name = os.path.splitext(os.path.basename(ink_source))[0]
        return (
        name,
            list(map(lambda x: tmpdir + ("/" + name + x), [".bin", ".tmp"])) + ["./inkcpp_test/ink/" + ink_source]
        )
    return res

@pytest.fixture(scope='session', autouse=True)
def story_path(tmpdir_factory):
    tmpdir = tmpdir_factory.getbasetemp()
    # tmpdir = os.fsencode('/tmp/pytest')
    return {name: files 
        for (name, files) in map(extract_paths(tmpdir), 
            filter(
                lambda file: os.path.splitext(file)[1] == ".ink", 
                os.listdir("./inkcpp_test/ink/")))}
            
@pytest.fixture(scope='session', autouse=True)
def assets(story_path, inklecate_cmd):
    res = {}
    for (name, files) in story_path.items():
        if not os.path.exists(files[0]):
            if not os.path.exists(files[1]):
                os.system('{} -o {} {}'.format(inklecate_cmd, files[1], files[2]))
            ink.compile_json(str(files[1]), str(files[0]))
        res[name] = ink.Story.from_file(str(files[0]))
    return res

@pytest.fixture(scope='session', autouse=True)
def generate():
    def g(asset):
        store = asset.new_globals()
        return [
            asset,
            store,
            asset.new_runner(store),
        ]
    return g

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
inkcpp_rb-0.1.3 ext/inkcpp_rb/inkcpp/inkcpp_py/tests/conftest.py
inkcpp_rb-0.1.2 ext/inkcpp_rb/inkcpp/inkcpp_py/tests/conftest.py
inkcpp_rb-0.1.1 ext/inkcpp_rb/inkcpp/inkcpp_py/tests/conftest.py
inkcpp_rb-0.1.0 ext/inkcpp_rb/inkcpp/inkcpp_py/tests/conftest.py