From 808b44f87a92818f6a596d7965a4cd27a397d389 Mon Sep 17 00:00:00 2001
From: Kamil Rojewski <krojew@users.noreply.github.com>
Date: Fri, 21 Apr 2017 18:29:42 +0200
Subject: [PATCH] TS tests fixes (#4265)

* Eclipse ignore

* TypeScript support

* Prefixing enums

* Test results

* Merged JS and TS generators

* Fixed AppVeyor build problems

* Fixed more AppVeyor build problems

* Fixed more AppVeyor build problems

* Changed TS flag to options struct

* Storing options by value

* Removed unneeded const

* Re-export support for unions

* Uint support

* Casting bools to numbers for mutation

* TS shell tests

* Reverted generates js test file to original version

* Backing up js tests and properly generating test data

* Not importing flatbuffers for TS test generation

* Not overwriting generated js for tests

* AppVeyor test fixes
---
 .gitignore                                        | 1 +
 appveyor.yml                                      | 2 +-
 tests/JavaScriptTest.js                           | 2 +-
 tests/JavaScriptTest.sh                           | 2 +-
 tests/TypeScriptTest.sh                           | 8 +++-----
 tests/generate_code.sh                            | 4 ++--
 tests/namespace_test/namespace_test1_generated.ts | 1 -
 tests/namespace_test/namespace_test2_generated.ts | 2 --
 8 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/.gitignore b/.gitignore
index c6c3067a..aedeb3cb 100755
--- a/.gitignore
+++ b/.gitignore
@@ -48,6 +48,7 @@ tests/monsterdata_java_wire.mon
 tests/monsterdata_go_wire.mon
 tests/monsterdata_javascript_wire.mon
 tests/unicode_test.mon
+tests/ts/
 CMakeLists.txt.user
 CMakeScripts/**
 CTestTestfile.cmake
diff --git a/appveyor.yml b/appveyor.yml
index 57f65e34..f350f066 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -31,7 +31,7 @@ test_script:
   - rem "---------------- JS -----------------"
   - "node --version"
   - "..\\%CONFIGURATION%\\flatc -b monster_test.fbs unicode_test.json"
-  - "node JavaScriptTest"
+  - "node JavaScriptTest ./monster_test_generated"
   - rem "---------------- C# -----------------"
   # Have to compile this here rather than in "build" above because AppVeyor only
   # supports building one project??
diff --git a/tests/JavaScriptTest.js b/tests/JavaScriptTest.js
index c656974e..7ed313af 100644
--- a/tests/JavaScriptTest.js
+++ b/tests/JavaScriptTest.js
@@ -3,7 +3,7 @@ var assert = require('assert');
 var fs = require('fs');
 
 var flatbuffers = require('../js/flatbuffers').flatbuffers;
-var MyGame = require('./monster_test_generated').MyGame;
+var MyGame = require(process.argv[2]).MyGame;
 
 function main() {
 
diff --git a/tests/JavaScriptTest.sh b/tests/JavaScriptTest.sh
index 75db0078..cdba5fa6 100755
--- a/tests/JavaScriptTest.sh
+++ b/tests/JavaScriptTest.sh
@@ -16,4 +16,4 @@
 
 pushd "$(dirname $0)" >/dev/null
 ../flatc -b monster_test.fbs unicode_test.json
-node JavaScriptTest
+node JavaScriptTest ./monster_test_generated
diff --git a/tests/TypeScriptTest.sh b/tests/TypeScriptTest.sh
index 4e37451c..a5d44d57 100755
--- a/tests/TypeScriptTest.sh
+++ b/tests/TypeScriptTest.sh
@@ -15,11 +15,9 @@
 # limitations under the License.
 
 pushd "$(dirname $0)" >/dev/null
-../flatc --ts --no-fb-import --gen-mutable monster_test.fbs
+../flatc --ts --no-fb-import --gen-mutable -o ts monster_test.fbs
 ../flatc -b monster_test.fbs unicode_test.json
 npm install @types/flatbuffers
-mv monster_test_generated.js monster_test_generated.js.bak
-tsc monster_test_generated.ts
+tsc ts/monster_test_generated.ts
 npm uninstall @types/flatbuffers
-node JavaScriptTest
-mv monster_test_generated.js.bak monster_test_generated.js
+node JavaScriptTest ./ts/monster_test_generated
diff --git a/tests/generate_code.sh b/tests/generate_code.sh
index b12e78a7..bdce8405 100755
--- a/tests/generate_code.sh
+++ b/tests/generate_code.sh
@@ -14,8 +14,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-../flatc --cpp --java --csharp --go --binary --python --js --ts --php --grpc --gen-mutable --gen-object-api --no-includes monster_test.fbs monsterdata_test.json
-../flatc --cpp --java --csharp --go --binary --python --js --ts --php --gen-mutable -o namespace_test namespace_test/namespace_test1.fbs namespace_test/namespace_test2.fbs
+../flatc --cpp --java --csharp --go --binary --python --js --ts --php --grpc --gen-mutable --gen-object-api --no-includes --no-fb-import monster_test.fbs monsterdata_test.json
+../flatc --cpp --java --csharp --go --binary --python --js --ts --php --gen-mutable --no-fb-import -o namespace_test namespace_test/namespace_test1.fbs namespace_test/namespace_test2.fbs
 ../flatc --cpp --gen-mutable --gen-object-api -o union_vector ./union_vector/union_vector.fbs
 ../flatc -b --schema --bfbs-comments monster_test.fbs
 cd ../samples
diff --git a/tests/namespace_test/namespace_test1_generated.ts b/tests/namespace_test/namespace_test1_generated.ts
index f94d14a5..42a1a691 100644
--- a/tests/namespace_test/namespace_test1_generated.ts
+++ b/tests/namespace_test/namespace_test1_generated.ts
@@ -1,6 +1,5 @@
 // automatically generated by the FlatBuffers compiler, do not modify
 
-import { flatbuffers } from "./flatbuffers"
 /**
  * @enum
  */
diff --git a/tests/namespace_test/namespace_test2_generated.ts b/tests/namespace_test/namespace_test2_generated.ts
index babf8adc..d08366bd 100644
--- a/tests/namespace_test/namespace_test2_generated.ts
+++ b/tests/namespace_test/namespace_test2_generated.ts
@@ -1,8 +1,6 @@
 // automatically generated by the FlatBuffers compiler, do not modify
 
-import { flatbuffers } from "./flatbuffers"
 import * as NS9459827973991502386 from "./namespace_test1_generated";
-export * from "./namespace_test1_generated";
 /**
  * @constructor
  */
-- 
GitLab