@@ -2,6 +2,15 @@ package typescript
22
33import (
44 "fmt"
5+ "github.com/clarkmcc/go-typescript/versions"
6+ _ "github.com/clarkmcc/go-typescript/versions/v3.8.3"
7+ _ "github.com/clarkmcc/go-typescript/versions/v3.9.9"
8+ _ "github.com/clarkmcc/go-typescript/versions/v4.1.2"
9+ _ "github.com/clarkmcc/go-typescript/versions/v4.1.3"
10+ _ "github.com/clarkmcc/go-typescript/versions/v4.1.4"
11+ _ "github.com/clarkmcc/go-typescript/versions/v4.1.5"
12+ _ "github.com/clarkmcc/go-typescript/versions/v4.2.2"
13+ v423 "github.com/clarkmcc/go-typescript/versions/v4.2.3"
514 "github.com/stretchr/testify/require"
615 "testing"
716)
@@ -13,3 +22,73 @@ func TestConfig_Initialize(t *testing.T) {
1322 _ , err = cfg .Runtime .RunString (fmt .Sprintf ("%v('not a valid base64 string')" , cfg .decoderName ))
1423 require .Error (t , err )
1524}
25+
26+ func TestVersionLoading (t * testing.T ) {
27+ t .Run ("v3.8.3" , func (t * testing.T ) {
28+ output , err := TranspileString ("let a: number = 10;" , & Config {
29+ TypescriptSource : versions .DefaultRegistry .MustGet ("v3.8.3" ),
30+ })
31+ require .NoError (t , err )
32+ require .Equal (t , "var a = 10;" , output )
33+ })
34+ t .Run ("v3.9.9" , func (t * testing.T ) {
35+ output , err := TranspileString ("let a: number = 10;" , & Config {
36+ TypescriptSource : versions .DefaultRegistry .MustGet ("v3.9.9" ),
37+ })
38+ require .NoError (t , err )
39+ require .Equal (t , "var a = 10;" , output )
40+ })
41+ t .Run ("v4.1.2" , func (t * testing.T ) {
42+ output , err := TranspileString ("let a: number = 10;" , & Config {
43+ TypescriptSource : versions .DefaultRegistry .MustGet ("v4.1.2" ),
44+ })
45+ require .NoError (t , err )
46+ require .Equal (t , "var a = 10;" , output )
47+ })
48+ t .Run ("v4.1.3" , func (t * testing.T ) {
49+ output , err := TranspileString ("let a: number = 10;" , & Config {
50+ TypescriptSource : versions .DefaultRegistry .MustGet ("v4.1.3" ),
51+ })
52+ require .NoError (t , err )
53+ require .Equal (t , "var a = 10;" , output )
54+ })
55+ t .Run ("v4.1.4" , func (t * testing.T ) {
56+ output , err := TranspileString ("let a: number = 10;" , & Config {
57+ TypescriptSource : versions .DefaultRegistry .MustGet ("v4.1.4" ),
58+ })
59+ require .NoError (t , err )
60+ require .Equal (t , "var a = 10;" , output )
61+ })
62+ t .Run ("v4.1.5" , func (t * testing.T ) {
63+ output , err := TranspileString ("let a: number = 10;" , & Config {
64+ TypescriptSource : versions .DefaultRegistry .MustGet ("v4.1.5" ),
65+ })
66+ require .NoError (t , err )
67+ require .Equal (t , "var a = 10;" , output )
68+ })
69+ t .Run ("v4.2.2" , func (t * testing.T ) {
70+ output , err := TranspileString ("let a: number = 10;" , & Config {
71+ TypescriptSource : versions .DefaultRegistry .MustGet ("v4.2.2" ),
72+ })
73+ require .NoError (t , err )
74+ require .Equal (t , "var a = 10;" , output )
75+ })
76+ t .Run ("v4.2.3" , func (t * testing.T ) {
77+ output , err := TranspileString ("let a: number = 10;" , & Config {
78+ TypescriptSource : versions .DefaultRegistry .MustGet ("v4.2.3" ),
79+ })
80+ require .NoError (t , err )
81+ require .Equal (t , "var a = 10;" , output )
82+ })
83+ }
84+
85+ func TestCustomRegistry (t * testing.T ) {
86+ registry := versions .NewRegistry ()
87+ registry .MustRegister ("v4.2.3" , v423 .Source )
88+
89+ output , err := TranspileString ("let a: number = 10;" , & Config {
90+ TypescriptSource : registry .MustGet ("v4.2.3" ),
91+ })
92+ require .NoError (t , err )
93+ require .Equal (t , "var a = 10;" , output )
94+ }
0 commit comments