Example #1
0
        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);
                }
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #9
0
 public void SetUpFixture()
 {
     provider  = new RubyDesignerLoaderProvider();
     generator = new RubyDesignerGenerator(null);
 }
        public void Init()
        {
            MockTextEditorOptions options = new MockTextEditorOptions();

            generator = new RubyDesignerGenerator(options);
        }