ConcurrencyTest.cs 713 B

12345678910111213141516171819202122232425
  1. using Esprima;
  2. namespace Jint.Tests.CommonScripts;
  3. [Parallelizable(ParallelScope.Fixtures)]
  4. public class ConcurrencyTest
  5. {
  6. [Test]
  7. [TestCase(true)]
  8. [TestCase(false)]
  9. public void ConcurrentEnginesCanUseSameAst(bool prepared)
  10. {
  11. var scriptContents = SunSpiderTests.GetEmbeddedFile("babel-standalone.js");
  12. var script = prepared
  13. ? Engine.PrepareScript(scriptContents)
  14. : new JavaScriptParser().ParseScript(scriptContents);
  15. Parallel.ForEach(Enumerable.Range(0, 3), x =>
  16. {
  17. new Engine()
  18. .SetValue("assert", new Action<bool, string>((condition, message)=> { }))
  19. .Evaluate(script);
  20. });
  21. }
  22. }