Beispiel #1
0
 public void VersionParsing()
 {
     foreach (var s in ExampleVersions)
     {
         Pep440Version ver;
         Assert.IsTrue(Pep440Version.TryParse(s, out ver), s);
         Assert.AreEqual(s, ver.OriginalForm);
     }
 }
Beispiel #2
0
        private static void AreVersionsNotEqual(string expected, string actual)
        {
            Pep440Version v1, v2;

            Assert.IsTrue(Pep440Version.TryParse(expected, out v1), expected);
            Assert.IsTrue(Pep440Version.TryParse(actual, out v2), actual);
            Assert.IsFalse(v1.Equals(v2),
                           string.Format(
                               "{0} == {1} ({2} == {3})",
                               v1.OriginalForm, v2.OriginalForm, v1.NormalizedForm, v2.NormalizedForm
                               )
                           );
        }
Beispiel #3
0
        internal PipPackageView(PipPackageCache provider, string packageSpec, bool versionIsInstalled = true) {
            _provider = provider;
            Match m;
            try {
                m = PipListOutputRegex.Match(packageSpec);
            } catch (RegexMatchTimeoutException) {
                Debug.Fail("Regex timeout");
                m = null;
            }
            if (m == null || !m.Success) {
                try {
                    m = PipFreezeOutputRegex.Match(packageSpec);
                } catch (RegexMatchTimeoutException) {
                    Debug.Fail("Regex timeout");
                    m = null;
                }
                if (m == null || !m.Success) {
                    try {
                        m = NameAndDescriptionRegex.Match(packageSpec);
                    } catch (RegexMatchTimeoutException) {
                        Debug.Fail("Regex timeout");
                        m = null;
                    }
                }
            }

            Pep440Version version;
            if (m.Success) {
                _name = m.Groups["name"].Value;
                Pep440Version.TryParse(m.Groups["version"].Value, out version);
            } else {
                _name = packageSpec;
                version = Pep440Version.Empty;
            }

            var description = m.Groups["description"].Value;
            if (!string.IsNullOrEmpty(description)) {
                _description = Uri.UnescapeDataString(description);
            }

            if (versionIsInstalled) {
                _version = version;
                _upgradeVersion = null;
            } else {
                _version = Pep440Version.Empty;
                _upgradeVersion = version;
            }
        }