1+ import { Expect , Test , TestCase } from "alsatian" ;
2+
3+ import * as util from "../src/util" ;
4+ const fs = require ( "fs" ) ;
5+
6+ export class DecoratorTests {
7+
8+ // Expect the passed lua string to be equal to the file's contents.
9+ private ExpectEqualToFile ( lua : string , path : string ) {
10+ const expected = fs . readFileSync ( path ) . toString ( ) ;
11+ Expect ( lua ) . toBe ( expected . trim ( ) . split ( "\r\n" ) . join ( "\n" ) ) ;
12+ }
13+
14+ @Test ( "RegularEnum" )
15+ public regularEnum ( ) {
16+ const lua = util . transpileFile ( "test/integration/testfiles/enum.ts" ) ;
17+ this . ExpectEqualToFile ( lua , "test/integration/testfiles/enum-expected.lua" ) ;
18+ }
19+
20+ @Test ( "MembersOnlyEnumDecorator" )
21+ public membersOnly ( ) {
22+ const lua = util . transpileFile ( "test/integration/testfiles/enumMembersOnly.ts" ) ;
23+ this . ExpectEqualToFile ( lua , "test/integration/testfiles/enumMembersOnly-expected.lua" ) ;
24+ }
25+
26+ @Test ( "RegularClassExtend" )
27+ public regularClassExtend ( ) {
28+ const lua = util . transpileFile ( "test/integration/testfiles/class.ts" ) ;
29+ this . ExpectEqualToFile ( lua , "test/integration/testfiles/class-expected.lua" ) ;
30+ }
31+
32+ @Test ( "PureAbstractClassExtend" )
33+ public pureAbstractClassExtend ( ) {
34+ const lua = util . transpileFile ( "test/integration/testfiles/classPureAbstract.ts" ) ;
35+ this . ExpectEqualToFile ( lua , "test/integration/testfiles/classPureAbstract-expected.lua" ) ;
36+ }
37+
38+ @Test ( "ExtensionClass" )
39+ public extensionClass ( ) {
40+ const lua = util . transpileFile ( "test/integration/testfiles/classExtension.ts" ) ;
41+ this . ExpectEqualToFile ( lua , "test/integration/testfiles/classExtension-expected.lua" ) ;
42+ }
43+
44+ @Test ( "RegularNamespace" )
45+ public regularNamespace ( ) {
46+ const lua = util . transpileFile ( "test/integration/testfiles/namespace.ts" ) ;
47+ this . ExpectEqualToFile ( lua , "test/integration/testfiles/namespace-expected.lua" ) ;
48+ }
49+
50+ @Test ( "PhantomNamespace" )
51+ public phantomNamespace ( ) {
52+ const lua = util . transpileFile ( "test/integration/testfiles/namespacePhantom.ts" ) ;
53+ this . ExpectEqualToFile ( lua , "test/integration/testfiles/namespacePhantom-expected.lua" ) ;
54+ }
55+ }
0 commit comments