public void SetUpFixture() { AvalonEdit.TextEditor textEditor = new AvalonEdit.TextEditor(); document = textEditor.Document; textEditor.Text = GetTextEditorCode(); RubyParser parser = new RubyParser(); ICompilationUnit compilationUnit = parser.Parse(new DefaultProjectContent(), @"test.py", document.Text); using (DesignSurface designSurface = new DesignSurface(typeof(UserControl))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); UserControl userControl = (UserControl)host.RootComponent; userControl.ClientSize = new Size(489, 389); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(userControl); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(userControl, "userControl1"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { AvalonEditDocumentAdapter docAdapter = new AvalonEditDocumentAdapter(document, null); RubyDesignerGenerator generator = new RubyDesignerGenerator(new MockTextEditorOptions()); generator.Merge(host, docAdapter, compilationUnit, serializationManager); } } }
public void SetUpFixture() { RubyParser parser = new RubyParser(); MockProjectContent mockProjectContent = new MockProjectContent(); ICompilationUnit compilationUnit = parser.Parse(mockProjectContent, @"C:\Projects\Test\MainForm.rb", GetFormCode()); // Create parse info to return from ParseFile method. parseInfo = new ParseInformation(); // Set the DirtyCompilationUnit to a non-null compilation unit // but with no items in the project content to ensure // that the BestCompilationUnit is used by the generator. parseInfo.SetCompilationUnit(compilationUnit); parseInfo.SetCompilationUnit(new DefaultCompilationUnit(new MockProjectContent()) { ErrorsDuringCompile = true }); // Get the InitializeComponent method from the // compilation unit. expectedInitializeComponentMethod = GetInitializeComponentMethod(compilationUnit); // Find the InitializeComponent method using the designer generator. initializeComponentMethod = RubyDesignerGenerator.GetInitializeComponents(compilationUnit); }
public void SetUpFixture() { resourceWriter = new MockResourceWriter(); resourceService = new MockResourceService(); resourceService.SetResourceWriter(resourceWriter); AvalonEdit.TextEditor textEditor = new AvalonEdit.TextEditor(); document = textEditor.Document; textEditor.Text = GetTextEditorCode(); RubyParser parser = new RubyParser(); ICompilationUnit compilationUnit = parser.Parse(new DefaultProjectContent(), @"test.rb", document.Text); using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); Form form = (Form)host.RootComponent; form.ClientSize = new Size(499, 309); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { RubyDesignerGenerator generator = new RubyDesignerGenerator(new MockTextEditorOptions()); generator.Merge(host, new AvalonEditDocumentAdapter(document, null), compilationUnit, serializationManager); } } }
public void GetInitializeComponentWhenNoClassesInCompilationUnit() { DefaultCompilationUnit unit = new DefaultCompilationUnit(new MockProjectContent()); ParseInformation parseInfo = new ParseInformation(unit); Assert.IsNull(RubyDesignerGenerator.GetInitializeComponents(unit)); }
public void GetDomRegion() { MockMethod method = new MockMethod(); DomRegion bodyRegion = new DomRegion(0, 4, 1, 4); method.BodyRegion = bodyRegion; DomRegion expectedRegion = new DomRegion(bodyRegion.BeginLine + 1, 1, bodyRegion.EndLine, 1); Assert.AreEqual(expectedRegion, RubyDesignerGenerator.GetBodyRegionInDocument(method)); }
public void InitializeComponentsUsedInsteadOfInitializeComponent() { RubyParser parser = new RubyParser(); MockProjectContent mockProjectContent = new MockProjectContent(); string code = GetFormCode().Replace("InitializeComponent", "InitializeComponents"); ICompilationUnit compilationUnit = parser.Parse(mockProjectContent, @"C:\Projects\Test\MainForm.rb", code); ParseInformation parseInfo = new ParseInformation(compilationUnit); IMethod expectedMethod = GetInitializeComponentMethod(compilationUnit); IMethod method = RubyDesignerGenerator.GetInitializeComponents(compilationUnit); Assert.IsNotNull(method); Assert.AreSame(expectedMethod, method); }
public void SetUpFixture() { RubyParser parser = new RubyParser(); MockProjectContent mockProjectContent = new MockProjectContent(); ICompilationUnit compilationUnit = parser.Parse(mockProjectContent, @"C:\Projects\Test\MainForm.rb", GetFormCode()); // Create parse info to return from ParseFile method. parseInfo = new ParseInformation(compilationUnit); // Get the InitializeComponent method from the // compilation unit. expectedInitializeComponentMethod = GetInitializeComponentMethod(compilationUnit); // Find the InitializeComponent method using the designer generator. initializeComponentMethod = RubyDesignerGenerator.GetInitializeComponents(compilationUnit); }
public void SetUpFixture() { AvalonEdit.TextEditor textEditor = new AvalonEdit.TextEditor(); document = textEditor.Document; textEditor.Text = GetTextEditorCode(); RubyParser parser = new RubyParser(); MockProjectContent projectContent = new MockProjectContent(); MockProject project = new MockProject(); project.RootNamespace = "RootNamespace"; projectContent.Project = project; ICompilationUnit compilationUnit = parser.Parse(projectContent, @"test.py", document.Text); using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add picture box PictureBox pictureBox = (PictureBox)host.CreateComponent(typeof(PictureBox), "pictureBox1"); pictureBox.Location = new Point(0, 0); pictureBox.Image = new Bitmap(10, 10); pictureBox.Size = new Size(100, 120); pictureBox.TabIndex = 0; form.Controls.Add(pictureBox); MockTextEditorOptions options = new MockTextEditorOptions(); options.ConvertTabsToSpaces = true; options.IndentationSize = 4; DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { AvalonEditDocumentAdapter docAdapter = new AvalonEditDocumentAdapter(document, null); RubyDesignerGenerator generator = new RubyDesignerGenerator(options); generator.Merge(host, docAdapter, compilationUnit, serializationManager); } } }
public void SetUpFixture() { provider = new RubyDesignerLoaderProvider(); generator = new RubyDesignerGenerator(null); }
public void Init() { MockTextEditorOptions options = new MockTextEditorOptions(); generator = new RubyDesignerGenerator(options); }