コード例 #1
0
        public void TestGetErrorMsg()
        {
            int    ErrNum  = 18;
            string message = "error " + ErrNum.ToString();

            Assert.IsTrue(msgTran.ParseCommandMessage(null, message));

            Command cmd = msgTran.Messages[0];

            Assert.IsTrue(cmd.MsgType == MessageType.WinError);

            Assert.AreEqual(cmd.MsgType.ToString(), "WinError");
            Assert.AreEqual(cmd.Number, ErrNum);
            Assert.AreEqual(cmd.Hex, ErrNum.ToString("X"));
            Assert.AreEqual(cmd.Code, "ERROR_NO_MORE_FILES");
            string ErrMessage = new System.ComponentModel.Win32Exception(ErrNum).Message;

            Assert.AreEqual(cmd.Message, ErrMessage);
        }
コード例 #2
0
        private void GetMessage()
        {
            string msgType = GetMessageType();

            if (msgType != null)
            {
                MessageTranslator msgTran = new MessageTranslator(new MessageOutput(),
                                                                  NtstatusXml,
                                                                  WinerrorXml,
                                                                  HresultXml,
                                                                  BugCheckXml,
                                                                  WmXml,
                                                                  BugUrl);
                string message = msgType + " " + mainErrTxtBox.Text;
                if (msgTran.ParseCommandMessage(null, message))
                {
                    if (msgTran.Messages.Count > 1)
                    {
                        // if we have more than one, they must be error messages
                        errMessages = msgTran.Messages;
                        UpdateErrorPage(1);
                    }
                    else
                    {
                        Command cmd = msgTran.Messages[0];

                        if (cmd.MsgType == MessageType.WinError ||
                            cmd.MsgType == MessageType.HRESULT ||
                            cmd.MsgType == MessageType.NTSTATUS ||
                            cmd.MsgType == MessageType.BugCheck ||
                            cmd.MsgType == MessageType.Custom)
                        {
                            if (errMessages != null)
                            {
                                errMessages.Clear();
                            }

                            errorTypeValueLabel.Text = cmd.MsgType.ToString();
                            errorDecimalTxtBox.Text  = cmd.Number.ToString();
                            errorHexTxtBox.Text      = "0x" + cmd.Hex;
                            errorCodeTxtBox.Text     = cmd.Code;
                            errorMessageTxtBox.Text  = cmd.Message;
                        }
                        else if (cmd.MsgType == MessageType.WinMsg)
                        {
                            wndmsgDecimalTxtBox.Text = cmd.Number.ToString();
                            wndmsgHexTxtBox.Text     = "0x" + cmd.Hex;
                            wndmsgCodeTxtBox.Text    = cmd.Code;
                        }
                        else if (cmd.MsgType == MessageType.BugUrl)
                        {
                            BugCommand bugCmd = (BugCommand)cmd;
                            JiraSummaryLink.Text = bugCmd.Summary;
                            JiraSummaryLink.Links[0].LinkData = bugCmd.BugUrl;
                            JiraSummaryLink.Links[0].Visited  = false;

                            JiraReporterTextBox.Text    = bugCmd.Reporter;
                            JiraAssigneeTextBox.Text    = bugCmd.Assignee;
                            JiraStatusTextBox.Text      = bugCmd.Status;
                            JiraResolutionTextBox.Text  = bugCmd.Resolution;
                            JiraDescriptionTextBox.Text = bugCmd.Description;
                        }
                    }
                }
            }
        }