Exemplo n.º 1
0
        public void MappingEngineLoadErrorDuringOutOfMemoryIsCorrect()
        {
            // Arrange
            IJsEngine             jsEngine  = null;
            JsEngineLoadException exception = null;

            // Act
            try
            {
                jsEngine = new ChakraCoreJsEngine(
                    new ChakraCoreSettings
                {
                    MemoryLimit = new UIntPtr(8 * 1024)
                }
                    );
            }
            catch (JsEngineLoadException e)
            {
                exception = e;
            }
            finally
            {
                jsEngine?.Dispose();
            }

            // Assert
            Assert.NotNull(exception);
            Assert.Equal("Engine load error", exception.Category);
            Assert.Equal("Out of memory.", exception.Description);
        }
        /// <summary>
        /// Generates a detailed error message
        /// </summary>
        /// <param name="jsEngineLoadException">JavaScript engine load exception</param>
        /// <returns>Detailed error message</returns>
        public static string Format(JsEngineLoadException jsEngineLoadException)
        {
            var errorMessage = new StringBuilder();
            errorMessage.AppendFormatLine("{0}: {1}", CommonStrings.ErrorDetails_Message,
                jsEngineLoadException.Message);
            if (!string.IsNullOrWhiteSpace(jsEngineLoadException.EngineMode))
            {
                errorMessage.AppendFormatLine("{0}: {1}", CommonStrings.ErrorDetails_EngineMode,
                    jsEngineLoadException.EngineMode);
            }

            return errorMessage.ToString();
        }
        public static JsEngineLoadException WrapEngineLoadException(Exception exception,
                                                                    string engineName, string engineVersion, bool quoteDescription = false)
        {
            string description = exception.Message;
            string message     = GenerateEngineLoadErrorMessage(description, engineName, quoteDescription);

            var jsEngineLoadException = new JsEngineLoadException(message, engineName, engineVersion,
                                                                  exception)
            {
                Description = description
            };

            return(jsEngineLoadException);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Generates a detailed error message
        /// </summary>
        /// <param name="jsEngineLoadException">JavaScript engine load exception</param>
        /// <returns>Detailed error message</returns>
        public static string Format(JsEngineLoadException jsEngineLoadException)
        {
            var errorMessage = new StringBuilder();

            errorMessage.AppendFormatLine("{0}: {1}", CommonStrings.ErrorDetails_Message,
                                          jsEngineLoadException.Message);
            if (!string.IsNullOrWhiteSpace(jsEngineLoadException.EngineMode))
            {
                errorMessage.AppendFormatLine("{0}: {1}", CommonStrings.ErrorDetails_EngineMode,
                                              jsEngineLoadException.EngineMode);
            }

            return(errorMessage.ToString());
        }