|
1 | 1 | using NUnit.Framework; |
2 | | -using NUnit.Framework.Legacy; |
3 | 2 | using Flow.Launcher.Plugin.Url; |
| 3 | +using System.Reflection; |
4 | 4 |
|
5 | 5 | namespace Flow.Launcher.Test.Plugins |
6 | 6 | { |
7 | 7 | [TestFixture] |
8 | 8 | public class UrlPluginTest |
9 | 9 | { |
10 | | - [Test] |
11 | | - public void URLMatchTest() |
| 10 | + private static Main plugin; |
| 11 | + |
| 12 | + [OneTimeSetUp] |
| 13 | + public void OneTimeSetup() |
12 | 14 | { |
13 | | - var plugin = new Main(); |
14 | | - ClassicAssert.IsTrue(plugin.IsURL("http://www.google.com")); |
15 | | - ClassicAssert.IsTrue(plugin.IsURL("https://www.google.com")); |
16 | | - ClassicAssert.IsTrue(plugin.IsURL("http://google.com")); |
17 | | - ClassicAssert.IsTrue(plugin.IsURL("ftp://google.com")); |
18 | | - ClassicAssert.IsTrue(plugin.IsURL("www.google.com")); |
19 | | - ClassicAssert.IsTrue(plugin.IsURL("google.com")); |
20 | | - ClassicAssert.IsTrue(plugin.IsURL("http://localhost")); |
21 | | - ClassicAssert.IsTrue(plugin.IsURL("https://localhost")); |
22 | | - ClassicAssert.IsTrue(plugin.IsURL("http://localhost:80")); |
23 | | - ClassicAssert.IsTrue(plugin.IsURL("https://localhost:80")); |
24 | | - ClassicAssert.IsTrue(plugin.IsURL("localhost")); |
25 | | - ClassicAssert.IsTrue(plugin.IsURL("localhost:8080")); |
26 | | - ClassicAssert.IsTrue(plugin.IsURL("http://110.10.10.10")); |
27 | | - ClassicAssert.IsTrue(plugin.IsURL("110.10.10.10")); |
28 | | - ClassicAssert.IsTrue(plugin.IsURL("110.10.10.10:8080")); |
29 | | - ClassicAssert.IsTrue(plugin.IsURL("192.168.1.1")); |
30 | | - ClassicAssert.IsTrue(plugin.IsURL("192.168.1.1:3000")); |
31 | | - ClassicAssert.IsTrue(plugin.IsURL("ftp://110.10.10.10")); |
32 | | - ClassicAssert.IsTrue(plugin.IsURL("[2001:db8::1]")); |
33 | | - ClassicAssert.IsTrue(plugin.IsURL("[2001:db8::1]:8080")); |
34 | | - ClassicAssert.IsTrue(plugin.IsURL("http://[2001:db8::1]")); |
35 | | - ClassicAssert.IsTrue(plugin.IsURL("https://[2001:db8::1]:8080")); |
36 | | - ClassicAssert.IsTrue(plugin.IsURL("[::1]")); |
37 | | - ClassicAssert.IsTrue(plugin.IsURL("[::1]:8080")); |
38 | | - ClassicAssert.IsTrue(plugin.IsURL("2001:db8::1")); |
39 | | - ClassicAssert.IsTrue(plugin.IsURL("fe80:1:2::3:4")); |
40 | | - ClassicAssert.IsTrue(plugin.IsURL("::1")); |
41 | | - ClassicAssert.IsTrue(plugin.IsURL("HTTP://EXAMPLE.COM")); |
42 | | - ClassicAssert.IsTrue(plugin.IsURL("HTTPS://EXAMPLE.COM")); |
43 | | - ClassicAssert.IsTrue(plugin.IsURL("EXAMPLE.COM")); |
44 | | - ClassicAssert.IsTrue(plugin.IsURL("LOCALHOST")); |
| 15 | + var settingsField = typeof(Main).GetField("Settings", BindingFlags.NonPublic | BindingFlags.Static); |
| 16 | + settingsField?.SetValue(null, new Settings()); |
| 17 | + |
| 18 | + plugin = new Main(); |
| 19 | + } |
45 | 20 |
|
| 21 | + [TestCase("http://www.google.com")] |
| 22 | + [TestCase("https://www.google.com")] |
| 23 | + [TestCase("http://google.com")] |
| 24 | + [TestCase("ftp://google.com")] |
| 25 | + [TestCase("www.google.com")] |
| 26 | + [TestCase("google.com")] |
| 27 | + [TestCase("http://localhost")] |
| 28 | + [TestCase("https://localhost")] |
| 29 | + [TestCase("http://localhost:80")] |
| 30 | + [TestCase("https://localhost:80")] |
| 31 | + [TestCase("localhost")] |
| 32 | + [TestCase("localhost:8080")] |
| 33 | + [TestCase("http://110.10.10.10")] |
| 34 | + [TestCase("110.10.10.10")] |
| 35 | + [TestCase("110.10.10.10:8080")] |
| 36 | + [TestCase("192.168.1.1")] |
| 37 | + [TestCase("192.168.1.1:3000")] |
| 38 | + [TestCase("ftp://110.10.10.10")] |
| 39 | + [TestCase("[2001:db8::1]")] |
| 40 | + [TestCase("[2001:db8::1]:8080")] |
| 41 | + [TestCase("http://[2001:db8::1]")] |
| 42 | + [TestCase("https://[2001:db8::1]:8080")] |
| 43 | + [TestCase("[::1]")] |
| 44 | + [TestCase("[::1]:8080")] |
| 45 | + [TestCase("2001:db8::1")] |
| 46 | + [TestCase("fe80:1:2::3:4")] |
| 47 | + [TestCase("::1")] |
| 48 | + [TestCase("HTTP://EXAMPLE.COM")] |
| 49 | + [TestCase("HTTPS://EXAMPLE.COM")] |
| 50 | + [TestCase("EXAMPLE.COM")] |
| 51 | + [TestCase("LOCALHOST")] |
| 52 | + public void WhenValidUrlThenIsUrlReturnsTrue(string url) |
| 53 | + { |
| 54 | + Assert.That(plugin.IsURL(url), Is.True); |
| 55 | + } |
46 | 56 |
|
47 | | - ClassicAssert.IsFalse(plugin.IsURL("wwww")); |
48 | | - ClassicAssert.IsFalse(plugin.IsURL("wwww.c")); |
49 | | - ClassicAssert.IsFalse(plugin.IsURL("wwww.c")); |
50 | | - ClassicAssert.IsFalse(plugin.IsURL("not a url")); |
51 | | - ClassicAssert.IsFalse(plugin.IsURL("just text")); |
52 | | - ClassicAssert.IsFalse(plugin.IsURL("http://")); |
53 | | - ClassicAssert.IsFalse(plugin.IsURL("://example.com")); |
54 | | - ClassicAssert.IsFalse(plugin.IsURL("0.0.0.0")); // Pattern excludes 0.0.0.0 |
55 | | - ClassicAssert.IsFalse(plugin.IsURL("256.1.1.1")); // Invalid IPv4 |
56 | | - ClassicAssert.IsFalse(plugin.IsURL("example")); // No TLD |
57 | | - ClassicAssert.IsFalse(plugin.IsURL(".com")); |
58 | | - ClassicAssert.IsFalse(plugin.IsURL("http://.com")); |
| 57 | + [TestCase("wwww")] |
| 58 | + [TestCase("wwww.c")] |
| 59 | + [TestCase("not a url")] |
| 60 | + [TestCase("just text")] |
| 61 | + [TestCase("http://")] |
| 62 | + [TestCase("://example.com")] |
| 63 | + [TestCase("0.0.0.0")] // Pattern excludes 0.0.0.0 |
| 64 | + [TestCase("256.1.1.1")] // Invalid IPv4 |
| 65 | + [TestCase("example")] // No TLD |
| 66 | + [TestCase(".com")] |
| 67 | + [TestCase("http://.com")] |
| 68 | + public void WhenInvalidUrlThenIsUrlReturnsFalse(string url) |
| 69 | + { |
| 70 | + Assert.That(plugin.IsURL(url), Is.False); |
59 | 71 | } |
60 | 72 | } |
61 | 73 | } |
0 commit comments