from flatc_test import *
class TsTests():
def Base(self):
flatc(["--ts", "foo.fbs"])
assert_file_and_contents(
"foo_generated.ts",
[
"export { Bar } from './bar.js';",
"export { Foo } from './foo.js';",
],
)
assert_file_and_contents("foo.ts", "export class Foo {")
assert_file_doesnt_exists("bar.ts")
def BaseMultipleFiles(self):
flatc(["--ts", "foo.fbs", "bar/bar.fbs"])
assert_file_and_contents(
"foo_generated.ts",
[
"export { Bar } from './bar.js';",
"export { Foo } from './foo.js';",
],
)
assert_file_and_contents("foo.ts", "export class Foo {")
assert_file_and_contents("bar.ts", "export class Bar {")
def BaseWithNamespace(self):
flatc(["--ts", "foo_with_ns.fbs"])
assert_file_and_contents(
"foo_with_ns_generated.ts",
[
"export { Bar } from './bar/bar.js';",
"export { Foo } from './something/foo.js';",
],
)
assert_file_and_contents(
"something/foo.ts",
[
"export class Foo {",
"import { Bar } from '../bar/bar.js';",
],
)
assert_file_doesnt_exists("bar.ts")
def GenAll(self):
flatc(["--ts", "--gen-all", "foo.fbs"])
assert_file_and_contents(
"foo_generated.ts",
[
"export { Bar } from './bar.js'",
"export { Baz } from './baz.js'",
"export { Foo } from './foo.js'",
],
)
assert_file_and_contents(
"foo.ts",
[
"import { Bar } from './bar.js';",
"export class Foo {",
],
)
assert_file_and_contents(
"bar.ts",
[
"import { Baz } from './baz.js';",
"export class Bar {",
],
)
assert_file_and_contents(
"baz.ts",
[
"export enum Baz {",
],
)
def FlatFiles(self):
flatc(["--ts", "--ts-flat-files", "foo.fbs"])
assert_file_and_contents(
"foo_generated.ts",
[
"import {Bar as Bar} from './bar_generated.js';",
"export class Foo {",
],
)
assert_file_doesnt_exists("foo.ts")
def FlatFilesWithNamespace(self):
flatc(["--ts", "--ts-flat-files", "foo_with_ns.fbs"])
assert_file_and_contents(
"foo_with_ns_generated.ts",
[
"import {Bar as Bar} from './bar_with_ns_generated.js';",
"export class Foo {",
],
)
assert_file_doesnt_exists("foo.ts")
def FlatFilesMultipleFiles(self):
flatc(["--ts", "--ts-flat-files", "foo.fbs", "bar/bar.fbs"])
assert_file_and_contents(
"foo_generated.ts",
[
"import {Bar as Bar} from './bar_generated.js';",
"export class Foo {",
],
)
assert_file_and_contents(
"bar_generated.ts",
[
"import {Baz as Baz} from './baz_generated.js';",
"export class Bar {",
],
)
assert_file_doesnt_exists("foo.ts")
assert_file_doesnt_exists("bar.ts")
def FlatFilesGenAll(self):
flatc(["--ts", "--ts-flat-files", "--gen-all", "foo.fbs"])
assert_file_and_contents(
"foo_generated.ts",
[
"export class Foo {",
"export class Bar {",
"export enum Baz {",
],
doesnt_contain=[
"import {Bar as Bar}",
"import {Baz as Baz}",
],
)
assert_file_doesnt_exists("foo.ts")
assert_file_doesnt_exists("bar.ts")
assert_file_doesnt_exists("baz.ts")
def ZFlatFilesGenAllWithNamespacing(self):
flatc(["--ts", "--ts-flat-files", "--gen-all", "foo_with_ns.fbs"])
assert_file_and_contents(
"foo_with_ns_generated.ts",
[
"export class bar_Bar {",
"export class bar_Foo {",
"export enum Baz {",
"export enum baz_Baz {",
"export class something_Foo {"
],
doesnt_contain=[
"import {Bar as Bar}",
"import {Baz as Baz}",
],
)
assert_file_doesnt_exists("foo.ts")
assert_file_doesnt_exists("bar.ts")
assert_file_doesnt_exists("baz.ts")