Esempio n. 1
0
        public void EntryPoints()
        {
            ILStrip strip = new ILStrip(TestHelper.TranslatePath("ILStripTestLib.dll"));

            strip.EntryPoints.Add("ILStripTest.UserClass");

            strip.ScanUsedClasses();
            strip.ScanUnusedClasses();
            strip.CleanupUnusedClasses();

            AssemblyAsserts asserts = new AssemblyAsserts(strip);

            asserts.AssertClass("ILStripTest.UserClass");
            asserts.AssertClass("ILStripTest.EmptyClass");
            asserts.AssertClass("ILStripTest.AttributedClass");
            asserts.AssertNoClass("ILStripTest.ClassWithAttributedField");
            asserts.AssertNoClass("ILStripTest.ClassWithAttributedProperty");
            asserts.AssertNoClass("ILStripTest.ClassWithTypeRefAttributeProperty");
            asserts.AssertNoClass("ILStripTest.ClassWithGeneric`1");
            asserts.AssertNoClass("ILStripTest.ClassWithNestedClass");
            asserts.AssertNoClass("ILStripTest.ClassWithNestedClass/NestedClass");
            asserts.AssertNoClass("ILStripTest.ClassWithNestedClass2");
            asserts.AssertNoClass("ILStripTest.ClassWithNestedClass2/NestedClass");
            asserts.AssertNoClass("ILStripTest.ClassWithEvents");
            asserts.AssertClass("ILStripTest.IInterface");
            asserts.AssertClass("ILStripTest.CustomAttribute");
            asserts.AssertNoClass("ILStripTest.XmlUsingClass");
        }
Esempio n. 2
0
        public void CleanupUnusedReferencesAll()
        {
            ILStrip strip = new ILStrip(TestHelper.TranslatePath("ILStripTestLib.dll"));

            strip.ScanUsedClasses();
            strip.ScanUnusedClasses();
            strip.CleanupUnusedClasses();
            strip.CleanupUnusedReferences();

            AssemblyAsserts asserts = new AssemblyAsserts(strip);

            asserts.AssertNoClass("ILStripTest.EmptyClass");
            asserts.AssertNoClass("ILStripTest.AttributedClass");
            asserts.AssertNoClass("ILStripTest.ClassWithAttributedField");
            asserts.AssertNoClass("ILStripTest.ClassWithAttributedProperty");
            asserts.AssertNoClass("ILStripTest.ClassWithTypeRefAttributeProperty");
            asserts.AssertNoClass("ILStripTest.UserClass");
            asserts.AssertNoClass("ILStripTest.ClassWithGeneric`1");
            asserts.AssertNoClass("ILStripTest.ClassWithNestedClass");
            asserts.AssertNoClass("ILStripTest.ClassWithNestedClass/NestedClass");
            asserts.AssertNoClass("ILStripTest.ClassWithNestedClass2");
            asserts.AssertNoClass("ILStripTest.ClassWithNestedClass2/NestedClass");
            asserts.AssertNoClass("ILStripTest.ClassWithEvents");
            asserts.AssertNoClass("ILStripTest.IInterface");
            asserts.AssertNoClass("ILStripTest.CustomAttribute");
            asserts.AssertNoClass("ILStripTest.XmlUsingClass");
            asserts.AssertReference("mscorlib"); // can't be removed
            asserts.AssertNoReference("System.Xml");
            asserts.AssertNoReference("ILStripWinFormsTestLib");
        }
Esempio n. 3
0
        public void MainWindowBamlEntryPoint()
        {
            ILStrip strip = new ILStrip(TestHelper.TranslatePath("ILStripWPFTestLib.exe"));

            strip.EntryPointBamls.Add("ui/mainwindow.baml");

            strip.ScanUsedClasses();
            strip.ScanUnusedClasses();
            strip.CleanupUnusedClasses();
            strip.CleanupUnusedResources();

            AssemblyAsserts asserts = new AssemblyAsserts(strip);

            asserts.AssertClass("ILStripWPFTestLib.App");
            asserts.AssertClass("ILStripWPFTestLib.UI.MainWindow");
            asserts.AssertClass("ILStripWPFTestLib.UI.UsedControl");
            asserts.AssertClass("ILStripWPFTestLib.ViewModel.UsedViewModel");
            asserts.AssertClass("ILStripWPFTestLib.ViewModel.Converters.UsedValueConverter");
            asserts.AssertNoClass("ILStripWPFTestLib.UI.UnusedWindow");
            asserts.AssertNoClass("ILStripWPFTestLib.UI.UnusedControl");
            asserts.AssertNoClass("ILStripWPFTestLib.ViewModel.UnusedViewModel");
            asserts.AssertNoClass("ILStripWPFTestLib.ViewModel.Converters.UnusedValueConverter");
            asserts.AssertClass("ILStripWPFTestLib.ViewModel.TestExtension");
            asserts.AssertClass("ILStripWPFTestLib.ViewModel.StaticClass");
            asserts.AssertClass("ILStripWPFTestLib.ViewModel.AnotherStaticClass");
            asserts.AssertWpfResource("ui/mainwindow.baml");
            asserts.AssertNoWpfResource("ui/unusedwindow.baml");
            asserts.AssertNoWpfResource("testdictionary.baml");
        }
Esempio n. 4
0
        public void RemoveUnknownResourcesExcluded()
        {
            ILStrip strip = new ILStrip(TestHelper.TranslatePath("ILStripWinFormsTestLib.exe"));

            strip.UnusedResourceExclusions.Add("ILStripWinFormsTestLib.Resources.BrokenEventLogo.png");
            strip.RemoveUnknownResources = true;

            strip.ScanUsedClasses();
            strip.ScanUnusedClasses();
            strip.CleanupUnusedClasses();
            strip.CleanupUnusedResources();

            AssemblyAsserts asserts = new AssemblyAsserts(strip);

            asserts.AssertClass("ILStripWinFormsTestLib.UsedForm");
            asserts.AssertClass("ILStripWinFormsTestLib.ControlOfUsedForm");
            asserts.AssertNoClass("ILStripWinFormsTestLib.UnusedForm");
            asserts.AssertNoClass("ILStripWinFormsTestLib.ControlOfUnusedForm");
            asserts.AssertResource("ILStripWinFormsTestLib.UsedForm.resources");
            asserts.AssertNoResource("ILStripWinFormsTestLib.UnusedForm.resources");
            asserts.AssertResource("ILStripWinFormsTestLib.Resources.BrokenEventLogo.png");
            asserts.AssertReference("mscorlib");
            asserts.AssertReference("System.Drawing");
            asserts.AssertReference("System.Windows.Forms");
        }
Esempio n. 5
0
        public void EntryPointForm()
        {
            ILStrip strip = new ILStrip(TestHelper.TranslatePath("ILStripWinFormsTestLib.exe"));

            strip.EntryPoints.Add("ILStripWinFormsTestLib.UnusedForm");

            strip.ScanUsedClasses();
            strip.ScanUnusedClasses();
            strip.CleanupUnusedClasses();
            strip.CleanupUnusedResources();
            strip.CleanupUnusedReferences();

            AssemblyAsserts asserts = new AssemblyAsserts(strip);

            asserts.AssertClass("ILStripWinFormsTestLib.UsedForm");
            asserts.AssertClass("ILStripWinFormsTestLib.ControlOfUsedForm");
            asserts.AssertClass("ILStripWinFormsTestLib.UnusedForm");
            asserts.AssertClass("ILStripWinFormsTestLib.ControlOfUnusedForm");
            asserts.AssertResource("ILStripWinFormsTestLib.UsedForm.resources");
            asserts.AssertResource("ILStripWinFormsTestLib.UnusedForm.resources");
            asserts.AssertResource("ILStripWinFormsTestLib.Resources.BrokenEventLogo.png");
            asserts.AssertReference("mscorlib");
            asserts.AssertReference("System.Drawing");
            asserts.AssertReference("System.Windows.Forms");
        }
Esempio n. 6
0
        public void RemoveUnknownResourcesUnused()
        {
            ILStrip strip = new ILStrip(TestHelper.TranslatePath("ILStripWPFTestLib.exe"));

            strip.EntryPoints.Add("ILStripWPFTestLib.UI.MainWindow");
            strip.RemoveUnknownResources = true;

            strip.ScanUsedClasses();
            strip.ScanUnusedClasses();
            strip.CleanupUnusedClasses();
            strip.CleanupUnusedResources();

            AssemblyAsserts asserts = new AssemblyAsserts(strip);

            asserts.AssertNoWpfResource("resources/brokeneventlogo.png");
        }