JavaScript的测试,通常是在Firefox的firebug插件中测试的。不过有时只是测试几行代码都要写一个html,再打开浏览器测试运行结果,感觉并不是很方便。

今天花了点时间做了一个简易的JS片段测试器。其实这主要是看了IronJs开源项目以后,才有了这个想法。 得益于JS在.net平台下的执行引擎IronJS的帮助,

这个测试器的实现真是不费吹灰之力。IronJS还是蛮强大的,据说能够成功编译JQuery。不过需要.net 4.0和DLR的支持,自己用无所谓了。

 

代码如下:

 

  public partial class MainWindow : Window
    {
        IronJS.Hosting.CSharp.Context ctx 
= new IronJS.Hosting.CSharp.Context();
        
public MainWindow()
        {
            InitializeComponent();
            SetPrint();
        }

        
private void button1_Click(object sender, RoutedEventArgs e)
        {
            
try
            {
                textBox2.Clear();
                ctx.Execute(textBox1.Text);
            }
            
catch (Exception ex)
            {
                
string err = ex.Message;
                
while (ex.InnerException!=null)
                {
                    ex 
= ex.InnerException;
                    err 
+= "\r\n" + ex.Message;
                }
                textBox2.Text 
= err;
            }
        }

        
void SetPrint()
        {
            
// Effectively the same as context.CreatePrintFunction() :-)
            var print = IronJS.Native.Utils.createHostFunction<Action<IronJS.BoxedValue>>(ctx.Environment,
                
delegate(IronJS.BoxedValue str)
                {
                    textBox2.Text 
= str.ClrBoxed.ToString();
                });
            ctx.SetGlobal(
"print", print);

        }
    }

相关文章:

  • 2021-10-09
  • 2021-10-12
  • 2022-12-23
  • 2021-12-02
  • 2021-10-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-27
  • 2021-06-04
  • 2021-09-13
  • 2021-12-06
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案