Example #1
0
        public void Manifest_ValidLongValue_BuildsOk()
        {
            // Tests writing name-value pairs that exceed the allowed line limit

            // Arrange
            string             testDir = TestUtils.CreateTestDirectory(TestContext);
            JarManifestBuilder builder = new JarManifestBuilder();

            string expected = @"Manifest-Version: 1.0
name1: 11111111112222222222333333333344444444445555555555666666666677777
 77777
name2: 11111111112222222222333333333344444444445555555555666666666677777
 77777111111111122222222223333333333444444444455555555556666666666777777
 77771111111111222222222233333333334444444444555555555566666666667777777
 777

";

            // Act
            // Long value - splits to next line
            builder.SetProperty("name1", "1111111111222222222233333333334444444444555555555566666666667777777777");

            // Long value - splits over multiple lines
            builder.SetProperty("name2",
                                "111111111122222222223333333333444444444455555555556666666666777777777711111111112222222222333333333344444444445555555555666666666677777777771111111111222222222233333333334444444444555555555566666666667777777777");

            string filePath = builder.WriteManifest(testDir);

            // Assert
            CheckManifest(filePath, expected);
        }
Example #2
0
        public void Manifest_ValidLongName_BuildsOk()
        {
            // Tests writing name-value pairs that exceed the allowed line limit

            // Arrange
            string             testDir = TestUtils.CreateTestDirectory(TestContext);
            JarManifestBuilder builder = new JarManifestBuilder();

            string expected = @"Manifest-Version: 1.0
1111111111222222222233333333334444444444555555555566666666667777777777: 
 value1
111111111122222222223333333333444444444455555555556666666666777: AAAAAAA
 AAABBBBBBBBBB

";

            // Act
            // Max length name
            builder.SetProperty("1111111111222222222233333333334444444444555555555566666666667777777777", "value1");

            // Long name
            builder.SetProperty("111111111122222222223333333333444444444455555555556666666666777", "AAAAAAAAAABBBBBBBBBB");

            string filePath = builder.WriteManifest(testDir);

            // Assert
            CheckManifest(filePath, expected);
        }
Example #3
0
        public void Manifest_NameTooLong_Throws()
        {
            // Arrange
            JarManifestBuilder builder = new JarManifestBuilder();

            string validName1  = "".PadLeft(69, 'A');
            string validName2  = "".PadLeft(70, 'A');
            string invalidName = "".PadLeft(71, 'A');

            // Act
            builder.SetProperty(validName1, "69 chars");
            builder.SetProperty(validName2, "70 chars");

            AssertException.Expect <ArgumentException>(() => builder.SetProperty(invalidName, "valid.property"));
        }
Example #4
0
        public void Manifest_ValidNames_Succeeds()
        {
            // Arrange
            JarManifestBuilder builder = new JarManifestBuilder();

            string[] validNames =
            {
                "1",
                "123",
                "abc",
                "1A2",
                "-",
                "_",
                "0123456789-_",
                "abc-xyz",
                "ABC_XYZ"
            };

            // Act
            foreach (string name in validNames)
            {
                builder.SetProperty(name, "valid.property");
            }

            builder.BuildManifest();
        }
        public void Manifest_ValidEntries_BuildsOk()
        {
            // Arrange
            string testDir = TestUtils.CreateTestDirectory(this.TestContext);
            JarManifestBuilder builder = new JarManifestBuilder();

            string expected = @"Manifest-Version: 1.0
property1: value1
PROPERTY2: value 22
PROPERTY3: Value 333

";
            // Act
            builder.SetProperty("property1", "value1");
            builder.SetProperty("PROPERTY2", "value 22");
            builder.SetProperty("PROPERTY3", "Value 333");
            string filePath = builder.WriteManifest(testDir);

            // Assert
            CheckManifest(filePath, expected);
        }
Example #6
0
        public void Manifest_ValidEntries_BuildsOk()
        {
            // Arrange
            string             testDir = TestUtils.CreateTestDirectory(TestContext);
            JarManifestBuilder builder = new JarManifestBuilder();

            string expected = @"Manifest-Version: 1.0
property1: value1
PROPERTY2: value 22
PROPERTY3: Value 333

";

            // Act
            builder.SetProperty("property1", "value1");
            builder.SetProperty("PROPERTY2", "value 22");
            builder.SetProperty("PROPERTY3", "Value 333");
            string filePath = builder.WriteManifest(testDir);

            // Assert
            CheckManifest(filePath, expected);
        }
Example #7
0
        public void Manifest_InvalidCharsInName_Throws()
        {
            // Arrange
            JarManifestBuilder builder = new JarManifestBuilder();

            string[] invalidNames =
            {
                "", // empty
                null,
                "%",
                "1234!",
                "a b",   // whitespace
                "1\r\n2" // more whitespace
            };

            // Act and assert
            foreach (string name in invalidNames)
            {
                AssertException.Expect <ArgumentException>(() => builder.SetProperty(name, "valid.property"));
            }
        }
 /// <summary>
 /// Sets a property that will appear in the manifest file
 /// </summary>
 public RoslynPluginJarBuilder SetManifestProperty(string name, string value)
 {
     jarManifestBuilder.SetProperty(name, value);
     return(this);
 }
        public void Manifest_ValidLongValue_BuildsOk()
        {
            // Tests writing name-value pairs that exceed the allowed line limit

            // Arrange
            string testDir = TestUtils.CreateTestDirectory(this.TestContext);
            JarManifestBuilder builder = new JarManifestBuilder();

            string expected = @"Manifest-Version: 1.0
name1: 11111111112222222222333333333344444444445555555555666666666677777
 77777
name2: 11111111112222222222333333333344444444445555555555666666666677777
 77777111111111122222222223333333333444444444455555555556666666666777777
 77771111111111222222222233333333334444444444555555555566666666667777777
 777

";
            // Act
            // Long value - splits to next line
            builder.SetProperty("name1", "1111111111222222222233333333334444444444555555555566666666667777777777");

            // Long value - splits over multiple lines
            builder.SetProperty("name2",
                "111111111122222222223333333333444444444455555555556666666666777777777711111111112222222222333333333344444444445555555555666666666677777777771111111111222222222233333333334444444444555555555566666666667777777777");

            string filePath = builder.WriteManifest(testDir);

            // Assert
            CheckManifest(filePath, expected);
        }
        public void Manifest_ValidLongName_BuildsOk()
        {
            // Tests writing name-value pairs that exceed the allowed line limit

            // Arrange
            string testDir = TestUtils.CreateTestDirectory(this.TestContext);
            JarManifestBuilder builder = new JarManifestBuilder();

            string expected = @"Manifest-Version: 1.0
1111111111222222222233333333334444444444555555555566666666667777777777: 
 value1
111111111122222222223333333333444444444455555555556666666666777: AAAAAAA
 AAABBBBBBBBBB

";
            // Act
            // Max length name 
            builder.SetProperty("1111111111222222222233333333334444444444555555555566666666667777777777", "value1");

            // Long name
            builder.SetProperty("111111111122222222223333333333444444444455555555556666666666777", "AAAAAAAAAABBBBBBBBBB");

            string filePath = builder.WriteManifest(testDir);

            // Assert
            CheckManifest(filePath, expected);
        }
        public void Manifest_ValidNames_Succeeds()
        {
            // Arrange
            JarManifestBuilder builder = new JarManifestBuilder();

            string[] validNames = {
                "1",
                "123",
                "abc",
                "1A2",
                "-",
                "_",
                "0123456789-_",
                "abc-xyz",
                "ABC_XYZ"
            };

            // Act
            foreach (string name in validNames)
            {
                builder.SetProperty(name, "valid.property");
            }

            string manifest = builder.BuildManifest();

        }
        public void Manifest_NameTooLong_Throws()
        {
            // Arrange
            JarManifestBuilder builder = new JarManifestBuilder();

            string validName1 = "".PadLeft(69, 'A');
            string validName2 = "".PadLeft(70, 'A');
            string invalidName = "".PadLeft(71, 'A');

            // Act
            builder.SetProperty(validName1, "69 chars");
            builder.SetProperty(validName2, "70 chars");

            AssertException.Expect<ArgumentException>(() => builder.SetProperty(invalidName, "valid.property"));
        }
        public void Manifest_InvalidCharsInName_Throws()
        {
            // Arrange
            JarManifestBuilder builder = new JarManifestBuilder();

            string[] invalidNames = {
                "", // empty
                null,
                "%",
                "1234!",
                "a b", // whitespace
                "1\r\n2" // more whitespace
            };

            // Act and assert
            foreach (string name in invalidNames)
            {
                AssertException.Expect<ArgumentException>(() => builder.SetProperty(name, "valid.property"));
            }
        }