/Public/Src/FrontEnd/TypeScript.Net/TypeScript.Net.UnitTests/Reformatter/LargeFileTest.cs

https://github.com/Microsoft/BuildXL · C# · 117 lines · 112 code · 3 blank · 2 comment · 0 complexity · 81a6c4ec146aeb4f6ae23cd488cd9de5 MD5 · raw file

  1. // Copyright (c) Microsoft Corporation.
  2. // Licensed under the MIT License.
  3. using TypeScript.Net.Reformatter;
  4. using TypeScript.Net.Types;
  5. using TypeScript.Net.UnitTests.Utils;
  6. using Xunit;
  7. namespace Test.DScript.Reformatter
  8. {
  9. public sealed class LargeFileTest
  10. {
  11. [Fact]
  12. public void SampleTransformer()
  13. {
  14. string code = @"{
  15. const x = Transformer.execute({
  16. tool: {exe: f`./src/tool/tool.exe`},
  17. tags: ['tagA', 'tagB'],
  18. arguments: [],
  19. workingDirectory: d`./Out/working`,
  20. dependencies: [
  21. f`./src/tool/tool.exe`,
  22. f`./src/tool/helper.dll`,
  23. f`./src/tool/nested.exe`,
  24. f`./src/input/file.txt`,
  25. f`./src/stdIn.txt`,
  26. d`./src/seal2`,
  27. d`./src/seal1`,
  28. ],
  29. implicitOutputs: [
  30. f`./Out/outputFile.txt`,
  31. f`./Out/outputFile1.txt`,
  32. f`./Out/outputFile.txt`,
  33. f`./Out/outputFile.txt`,
  34. f`./Out/stdOut.txt`,
  35. f`./Out/stdErr.txt`,
  36. d`./Out/dynamicSealedDirectory`,
  37. ],
  38. optionalImplicitOutputs: [
  39. f`./Out/optionalImplicitOutput1.txt`,
  40. f`./Out/optionalImplicitOutput2.txt`,
  41. f`./Out/optionalImplicitOutput3.txt`,
  42. f`./Out/optionalImplicitOutput4.txt`,
  43. f`./Out/optionalImplicitOutput5.txt`,
  44. f`./Out/optionalImplicitOutput6.txt`,
  45. ],
  46. consoleInput: f`./src/stdIn.txt`,
  47. consoleOutput: p`./Out/stdOut.txt`,
  48. consoleError: p`./Out/stdErr.txt`,
  49. environmentVariables: [
  50. {name: 'env1', value: []},
  51. {name: 'env2', value: []},
  52. {name: 'env3', value: []},
  53. {name: 'env4', value: []},
  54. {name: 'TEMP', value: []},
  55. {name: 'TMP', value: []},
  56. ],
  57. warningRegex: '^\\s*((((((\\d+>)?[a-zA-Z]?:[^:]*)|([^:]*))):)|())(()|([^:]*? ))warning( \\s*([^: ]*))?\\s*:.*$',
  58. acquireSemaphores: [
  59. {
  60. name: 'semaphore1',
  61. incrementBy: 2,
  62. limit: 2,
  63. },
  64. {
  65. name: 'semaphore2',
  66. incrementBy: 1,
  67. limit: 1,
  68. },
  69. {
  70. name: 'mutex1',
  71. incrementBy: 1,
  72. limit: 1,
  73. },
  74. {
  75. name: 'mutex2',
  76. incrementBy: 1,
  77. limit: 1,
  78. },
  79. ],
  80. successExitCodes: [0, 1, 2],
  81. tempDirectory: d`./Out/Temp`,
  82. additionalTempDirectories: [d`./Out/extraTemp1`, d`./Out/extraTemp2`],
  83. unsafe: {
  84. untrackedPaths: [
  85. p`./src/tool/untrackedFile1.txt`,
  86. p`./src/tool/untrackedFile2.txt`,
  87. p`./src/tool/untrackedDirectory`,
  88. p`./src/untrackedPathOnPip`,
  89. ],
  90. untrackedScopes: [
  91. p`C:/WINDOWS`,
  92. p`C:/Users/userName/AppData/Local/Microsoft/Windows/INetCache`,
  93. p`C:/Users/userName/AppData/Local/Microsoft/Windows/History`,
  94. p`C:/Users/userName/AppData/Roaming`,
  95. p`C:/Users/userName/AppData/Local`,
  96. p`./src/tool/untrackedDirectoryScope`,
  97. p`./Out/dynamicSealedDirectory`,
  98. p`./Out/Temp`,
  99. p`./Out/extraTemp1`,
  100. p`./Out/extraTemp2`,
  101. p`./src/untrackedScopeOnPip`,
  102. ],
  103. hasUntrackedChildProcesses: true,
  104. allowPreservedOutputs: true,
  105. },
  106. keepOutputsWritable: true,
  107. });
  108. }";
  109. var node = ParsingHelper.ParseFirstStatementFrom<IBlock>(code);
  110. var actual = node.GetFormattedText();
  111. Assert.Equal(code, actual);
  112. }
  113. }
  114. }