StringTests.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. namespace Jint.Tests.Runtime
  2. {
  3. public class StringTests
  4. {
  5. public StringTests()
  6. {
  7. _engine = new Engine()
  8. .SetValue("log", new Action<object>(Console.WriteLine))
  9. .SetValue("assert", new Action<bool>(Assert.True))
  10. .SetValue("equal", new Action<object, object>(Assert.Equal));
  11. }
  12. private readonly Engine _engine;
  13. [Fact]
  14. public void StringConcatenationAndReferences()
  15. {
  16. const string script = @"
  17. var foo = 'foo';
  18. foo += 'foo';
  19. var bar = foo;
  20. bar += 'bar';
  21. ";
  22. var value = _engine.Execute(script);
  23. var foo = _engine.Evaluate("foo").AsString();
  24. var bar = _engine.Evaluate("bar").AsString();
  25. Assert.Equal("foofoo", foo);
  26. Assert.Equal("foofoobar", bar);
  27. }
  28. [Fact]
  29. public void TrimLeftRightShouldBeSameAsTrimStartEnd()
  30. {
  31. _engine.Execute(@"
  32. assert(''.trimLeft === ''.trimStart);
  33. assert(''.trimRight === ''.trimEnd);
  34. ");
  35. }
  36. }
  37. }