globalerror_test.cc 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #include <apt-pkg/error.h>
  2. #include "assert.h"
  3. #include <string>
  4. int main(int argc,char *argv[])
  5. {
  6. equals(_error->empty(), true);
  7. equals(_error->PendingError(), false);
  8. equals(_error->Notice("%s Notice", "A"), false);
  9. equals(_error->empty(), true);
  10. equals(_error->empty(GlobalError::DEBUG), false);
  11. equals(_error->PendingError(), false);
  12. equals(_error->Error("%s horrible %s %d times", "Something", "happend", 2), false);
  13. equals(_error->PendingError(), true);
  14. std::string text;
  15. equals(_error->PopMessage(text), false);
  16. equals(_error->PendingError(), true);
  17. equals(text, "A Notice");
  18. equals(_error->PopMessage(text), true);
  19. equals(text, "Something horrible happend 2 times");
  20. equals(_error->empty(GlobalError::DEBUG), true);
  21. equals(_error->PendingError(), false);
  22. equals(_error->Error("%s horrible %s %d times", "Something", "happend", 2), false);
  23. equals(_error->PendingError(), true);
  24. equals(_error->empty(GlobalError::FATAL), false);
  25. _error->Discard();
  26. equals(_error->empty(), true);
  27. equals(_error->PendingError(), false);
  28. equals(_error->Notice("%s Notice", "A"), false);
  29. equals(_error->Error("%s horrible %s %d times", "Something", "happend", 2), false);
  30. equals(_error->PendingError(), true);
  31. equals(_error->empty(GlobalError::NOTICE), false);
  32. _error->PushToStack();
  33. equals(_error->empty(GlobalError::NOTICE), true);
  34. equals(_error->PendingError(), false);
  35. equals(_error->Warning("%s Warning", "A"), false);
  36. equals(_error->empty(GlobalError::ERROR), true);
  37. equals(_error->PendingError(), false);
  38. _error->RevertToStack();
  39. equals(_error->empty(GlobalError::ERROR), false);
  40. equals(_error->PendingError(), true);
  41. equals(_error->PopMessage(text), false);
  42. equals(_error->PendingError(), true);
  43. equals(text, "A Notice");
  44. equals(_error->PopMessage(text), true);
  45. equals(text, "Something horrible happend 2 times");
  46. equals(_error->PendingError(), false);
  47. equals(_error->empty(), true);
  48. equals(_error->Notice("%s Notice", "A"), false);
  49. equals(_error->Error("%s horrible %s %d times", "Something", "happend", 2), false);
  50. equals(_error->PendingError(), true);
  51. equals(_error->empty(GlobalError::NOTICE), false);
  52. _error->PushToStack();
  53. equals(_error->empty(GlobalError::NOTICE), true);
  54. equals(_error->PendingError(), false);
  55. equals(_error->Warning("%s Warning", "A"), false);
  56. equals(_error->empty(GlobalError::ERROR), true);
  57. equals(_error->PendingError(), false);
  58. _error->MergeWithStack();
  59. equals(_error->empty(GlobalError::ERROR), false);
  60. equals(_error->PendingError(), true);
  61. equals(_error->PopMessage(text), false);
  62. equals(_error->PendingError(), true);
  63. equals(text, "A Notice");
  64. equals(_error->PopMessage(text), true);
  65. equals(text, "Something horrible happend 2 times");
  66. equals(_error->PendingError(), false);
  67. equals(_error->empty(), false);
  68. equals(_error->PopMessage(text), false);
  69. equals(text, "A Warning");
  70. equals(_error->empty(), true);
  71. return 0;
  72. }