FlurlExtensionTest.cs 829 B

1234567891011121314151617181920212223242526272829303132
  1. using Flurl.Http;
  2. namespace Jint.Tests.Runtime.ExtensionMethods;
  3. public class FlurlExtensionTest
  4. {
  5. [RunnableInDebugOnlyAttribute]
  6. public void CanUseFlurlExtensionMethods()
  7. {
  8. var engine = new Engine(options =>
  9. {
  10. options.AddExtensionMethods(
  11. typeof(GeneratedExtensions),
  12. typeof(Flurl.GeneratedExtensions));
  13. });
  14. const string script = @"
  15. var result = 'https://httpbin.org/anything'
  16. .AppendPathSegment('person')
  17. .SetQueryParams({ a: 1, b: 2 })
  18. .WithOAuthBearerToken('my_oauth_token')
  19. .PostJsonAsync({
  20. first_name: 'Claire',
  21. last_name: 'Underwood'
  22. }).GetAwaiter().GetResult();
  23. ";
  24. engine.Execute(script);
  25. var result = engine.GetValue("result").ToObject();
  26. }
  27. }