Example #1
0
        public void SettingVariableIsCorrect()
        {
            // Arrange
            _msieJsEngine.SetVariableValue("price", 120.55m);

            // Act
            bool priceExists = _msieJsEngine.HasVariable("price");
            var  price       = _msieJsEngine.GetVariableValue <double>("price");

            // Assert
            Assert.IsTrue(priceExists);
            Assert.AreEqual(120.55m, price);
        }
Example #2
0
        private static string MinimizeWithUglifyJS(ref MsieJsEngine jsEngine, string code)
        {
            jsEngine = jsEngine ?? SetupJsEngine();
            jsEngine.SetVariableValue("CodeToCompress", code);

            jsEngine.Evaluate(
                @"(function() { 
                    var ast = UglifyJS.parse(CodeToCompress);
                    ast.figure_out_scope();
                    var compressor = UglifyJS.Compressor();
                    ast = ast.transform(compressor);
                    ast.figure_out_scope();
                    ast.compute_char_frequency();
                    ast.mangle_names();
                    CodeToCompress = ast.print_to_string();
                })();");

            return(jsEngine.GetVariableValue <string>("CodeToCompress"));
        }
        public virtual void SettingAndGettingVariableWithUndefinedValueIsCorrect()
        {
            // Arrange
            const string variableName = "myVar1";
            object       input        = Undefined.Value;

            // Act
            _jsEngine.SetVariableValue(variableName, input);
            bool variableExists = _jsEngine.HasVariable(variableName);
            var  output         = _jsEngine.GetVariableValue(variableName);

            // Assert
            Assert.IsFalse(variableExists);
            Assert.AreEqual(input, output);
        }
Example #4
0
        private static string MinimizeWithUglifyJS(ref MsieJsEngine jsEngine, string code)
        {
            jsEngine = jsEngine ?? SetupJsEngine();
            jsEngine.SetVariableValue("CodeToCompress", code);

            jsEngine.Evaluate(
                @"(function() {
                    var ast = UglifyJS.parse(CodeToCompress);
                    ast.figure_out_scope();
                    var compressor = UglifyJS.Compressor();
                    ast = ast.transform(compressor);
                    ast.figure_out_scope();
                    ast.compute_char_frequency();
                    ast.mangle_names();
                    CodeToCompress = ast.print_to_string();
                })();");

            return jsEngine.GetVariableValue<string>("CodeToCompress");
        }