public void ParseUnrecognizedFramework_MultidigitVersion_Profile_NoHyphen_Unsupported()
        {
            // Castle.ActiveRecord 3.0.0.1 has this invalid library folder:
            var file = new FastZipPackageFile(package, Path.Combine("lib", "net40cp", "Castle.ActiveRecord.dll"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.UnsupportedFrameworkName));
        }
        public void ParseUnrecognizedFramework_UriEscapedSpaces_Unsupported()
        {
            // Spackle 5.0.0 has this invalid library folder:
            var file = new FastZipPackageFile(package, Path.Combine("lib", ".NetFramework%204.0", "Spackle.dll"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.UnsupportedFrameworkName));
        }
        public void RemembersParseFrameworkName()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "java7", "Foo.jar"));

            var first = file.TargetFramework;

            Assert.That(file.TargetFramework, Is.EqualTo(first));
        }
        public void UrlDecodesFilePath()
        {
            var file = new FastZipPackageFile(package, "lib/portable-windows8%2Bnet45/Neato.dll");

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("portable-windows8+net45")));
        }
        public void ParseUnrecognizedFramework_SingleVersion()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "java7", "Foo.jar"));

            Assert.That(file.TargetFramework, Is.EqualTo(new FrameworkName("java", new Version("7.0"))));
        }
        public void NormalizeZipFilePath()
        {
            var file = new FastZipPackageFile(package, @"/lib/net35/Foo.dll");

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("net35")));
        }
        public void EffectivePathDefault()
        {
            var file = new FastZipPackageFile(package, Path.Combine("stuff", "things"));

            Assert.That(file.EffectivePath, Is.EqualTo(file.Path));
        }
        public void DeterminesSupportedFrameworkFromContent()
        {
            var file = new FastZipPackageFile(package, Path.Combine("content", "net40-cf", "Foo.config"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("net40-cf")));
        }
        public void EffectivePathForUnrecognizedFramework()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "java7", "Foo.jar"));

            Assert.That(file.EffectivePath, Is.EqualTo("Foo.jar"));
        }
        public void DeterminesSupportedFrameworkFromContent()
        {
            var file = new FastZipPackageFile(package, Path.Combine("content", "net40-cf", "Foo.config"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("net40-cf")));
        }
        public void DeterminesSupportedFrameworkFromBuild()
        {
            var file = new FastZipPackageFile(package, Path.Combine("build", "net40", "Foo.dll"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("net40")));
        }
        public void EffectivePathForUnrecognizedFramework()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "java7", "Foo.jar"));

            Assert.That(file.EffectivePath, Is.EqualTo("Foo.jar"));
        }
        public void ParseUnrecognizedFramework_NoVersion_WithProfile()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "java-micro", "Foo.jar"));

            Assert.That(file.TargetFramework, Is.EqualTo(new FrameworkName("java", new Version("0.0"), "micro")));
        }
        public void ParseUnrecognizedFramework_UriEscapedSpaces_Unsupported()
        {
            // Spackle 5.0.0 has this invalid library folder:
            var file = new FastZipPackageFile(package, Path.Combine("lib", ".NetFramework%204.0", "Spackle.dll"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.UnsupportedFrameworkName));
        }
        public void ParseUnrecognizedFramework_MultidigitVersion_Profile_NoHyphen_Unsupported()
        {
            // Castle.ActiveRecord 3.0.0.1 has this invalid library folder:
            var file = new FastZipPackageFile(package, Path.Combine("lib", "net40cp", "Castle.ActiveRecord.dll"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.UnsupportedFrameworkName));
        }
        public void UriEscapedSpaces()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", ".NetFramework%204.0", "Spackle.dll"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("net40")));
        }
        public void ParseUnrecognizedFramework_NoVersion_WithProfile()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "java-micro", "Foo.jar"));

            Assert.That(file.TargetFramework, Is.EqualTo(new FrameworkName("java", new Version("0.0"), "micro")));
        }
        public void EffectivePathRelativeToFrameworkFolder()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "net40", "Foo.dll"));

            Assert.That(file.EffectivePath, Is.EqualTo("Foo.dll"));
        }
        public void DeterminesSupportedFrameworkFromBuild()
        {
            var file = new FastZipPackageFile(package, Path.Combine("build", "net40", "Foo.dll"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("net40")));
        }
        public void EffectivePathDefault()
        {
            var file = new FastZipPackageFile(package, Path.Combine("stuff", "things"));

            Assert.That(file.EffectivePath, Is.EqualTo(file.Path));
        }
        public void EffectivePathRelativeToFrameworkFolder()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "net40", "Foo.dll"));

            Assert.That(file.EffectivePath, Is.EqualTo("Foo.dll"));
        }
        public void IgnoresNonWhiteListFolder()
        {
            var file = new FastZipPackageFile(package, Path.Combine("not-a-thing", "net40", "Foo.config"));

            Assert.That(file.TargetFramework, Is.Null);
        }
        public void IgnoresNonWhiteListFolder()
        {
            var file = new FastZipPackageFile(package, Path.Combine("not-a-thing", "net40", "Foo.config"));

            Assert.That(file.TargetFramework, Is.Null);
        }
        public void NormalizeZipFilePath()
        {
            var file = new FastZipPackageFile(package, @"/lib/net35/Foo.dll");

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("net35")));
        }
        public void UrlDecodesFilePath()
        {
            var file = new FastZipPackageFile(package, "lib/portable-windows8%2Bnet45/Neato.dll");

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("portable-windows8+net45")));
        }
        public void RemembersParseFrameworkName()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "java7", "Foo.jar"));

            var first = file.TargetFramework;
            Assert.That(file.TargetFramework, Is.EqualTo(first));
        }
        public void ParseUnrecognizedFramework_MultidigitVersion()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", "java712", "Foo.jar"));

            Assert.That(file.TargetFramework, Is.EqualTo(new FrameworkName("java", new Version("7.1.2"))));
        }
        public void UriEscapedSpaces()
        {
            var file = new FastZipPackageFile(package, Path.Combine("lib", ".NetFramework%204.0", "Spackle.dll"));

            Assert.That(file.TargetFramework, Is.EqualTo(VersionUtility.ParseFrameworkName("net40")));
        }