Esempio n. 1
0
def test_monsters():
    fbs = load('parser-cases/monster_test.fbs')
    assert fbs.root == 'Monster'
    assert fbs.file_extension == 'mon'
    assert fbs.file_identifier == 'MONS'

    stats = fbs.__fbs_meta__['tables'][2]
    assert stats._fspec['id1'] == (False, "[string]", [])
    assert stats.attributes == [["BaseStat"]]
Esempio n. 2
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--includes",
                        action='store',
                        nargs='+',
                        help="Directories to search")
    parser.add_argument("--cpp",
                        type=bool,
                        default=False,
                        help="Generate C++ code")
    parser.add_argument("--ijava",
                        type=bool,
                        default=False,
                        help="Generate Java interface code")
    parser.add_argument("--yaml",
                        type=bool,
                        default=False,
                        help="Generate Yaml code")
    parser.add_argument("--python",
                        type=bool,
                        default=False,
                        help="Generate Python code")
    # TODO: pass args.sort to parser
    parser.add_argument("--sort",
                        type=bool,
                        default=False,
                        help="Sort everything alphabetically")
    args, rest = parser.parse_known_args()
    for filename in rest:
        parsed = load(filename, include_dirs=args.includes)
        if args.cpp:
            generate_cpp(filename, load(filename))
        if args.ijava:
            generate_ijava(filename, load(filename))
        if args.yaml:
            generate_yaml(filename, load(filename))
        if args.python:
            generate_py(filename, load(filename))
Esempio n. 3
0
def test_comments():
    load('parser-cases/comments.fbs')
Esempio n. 4
0
def test_thrift2fbs():
    fbs = load('parser-cases/thrift2fbs.fbs')
Esempio n. 5
0
def test_include():
    fbs = load('parser-cases/include.fbs', include_dirs=['./parser-cases'])
Esempio n. 6
0
def test_constants():
    fbs = load('parser-cases/constants.fbs')