11import { Expect , Test , TestCase } from "alsatian" ;
22
33import * as util from "../src/util" ;
4+ const fs = require ( "fs" ) ;
45
56export class DecoratorTests {
67
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+
714 @Test ( "RegularEnum" )
815 public regularEnum ( ) {
916 const lua = util . transpileFile ( "test/integration/testfiles/enum.ts" ) ;
10- Expect ( lua ) . toBe (
11- "TestEnum={}\n" +
12- "TestEnum.val1=0\n" +
13- "TestEnum.val2=2\n" +
14- "TestEnum.val3=3"
15- ) ;
17+ this . ExpectEqualToFile ( lua , "test/integration/testfiles/enum-expected.lua" ) ;
1618 }
1719
1820 @Test ( "MembersOnlyEnumDecorator" )
1921 public membersOnly ( ) {
20- const lua = util . transpileFile ( "test/integration/testfiles/membersOnlyEnum.ts" ) ;
21- Expect ( lua ) . toBe (
22- "val1=0\n" +
23- "val2=2\n" +
24- "val3=3"
25- ) ;
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" ) ;
2648 }
2749}
0 commit comments