perl.t 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/usr/bin/perl
  2. # (C) Maxim Dounin
  3. # Tests for embedded perl module.
  4. ###############################################################################
  5. use warnings;
  6. use strict;
  7. use Test::More;
  8. BEGIN { use FindBin; chdir($FindBin::Bin); }
  9. use lib 'lib';
  10. use Test::Nginx;
  11. ###############################################################################
  12. select STDERR; $| = 1;
  13. select STDOUT; $| = 1;
  14. my $t = Test::Nginx->new()->has(qw/http perl rewrite/)->plan(1)
  15. ->write_file_expand('nginx.conf', <<'EOF');
  16. %%TEST_GLOBALS%%
  17. master_process off;
  18. daemon off;
  19. events {
  20. }
  21. http {
  22. %%TEST_GLOBALS_HTTP%%
  23. server {
  24. listen 127.0.0.1:8080;
  25. server_name localhost;
  26. location / {
  27. set $testvar "TEST";
  28. perl 'sub {
  29. use warnings;
  30. use strict;
  31. my $r = shift;
  32. $r->send_http_header("text/plain");
  33. return OK if $r->header_only;
  34. my $v = $r->variable("testvar");
  35. $r->print("$v");
  36. return OK;
  37. }';
  38. }
  39. }
  40. }
  41. EOF
  42. $t->run();
  43. ###############################################################################
  44. like(http_get('/'), qr/TEST/, 'perl response');
  45. ###############################################################################