Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1import unittest 

2 

3from webapp import template_utils 

4 

5 

6class TemplateUtilsTest(unittest.TestCase): 

7 def test_generate_slug(self): 

8 result = template_utils.generate_slug("/snaps") 

9 self.assertEqual(result, "account") 

10 

11 result = template_utils.generate_slug("/listing") 

12 self.assertEqual(result, "account") 

13 

14 result = template_utils.generate_slug("/releases") 

15 self.assertEqual(result, "account") 

16 

17 result = template_utils.generate_slug("/publicise") 

18 self.assertEqual(result, "account") 

19 

20 result = template_utils.generate_slug("/publicise/badges") 

21 self.assertEqual(result, "account") 

22 

23 result = template_utils.generate_slug("/publicise/cards") 

24 self.assertEqual(result, "account") 

25 

26 result = template_utils.generate_slug("/settings") 

27 self.assertEqual(result, "account") 

28 

29 result = template_utils.generate_slug("/account/details") 

30 self.assertEqual(result, "account") 

31 

32 result = template_utils.generate_slug("/") 

33 self.assertEqual(result, "home") 

34 

35 result = template_utils.generate_slug("/first-snap") 

36 self.assertEqual(result, "home") 

37 

38 result = template_utils.generate_slug("/build") 

39 self.assertEqual(result, "build") 

40 

41 result = template_utils.generate_slug("/blog") 

42 self.assertEqual(result, "blog") 

43 

44 result = template_utils.generate_slug("/iot") 

45 self.assertEqual(result, "iot") 

46 

47 result = template_utils.generate_slug("/any-route") 

48 self.assertEqual(result, "store") 

49 

50 def test_contains(self): 

51 result = template_utils.contains(["item1", "item2"], "item1") 

52 self.assertTrue(result) 

53 

54 result = template_utils.contains(["item1", "item2"], "item3") 

55 self.assertFalse(result) 

56 

57 def test_format_number(self): 

58 result = template_utils.format_number(1) 

59 self.assertTrue(isinstance(result, str)) 

60 

61 result = template_utils.format_number(10000) 

62 self.assertTrue(result, "10,000") 

63 

64 def test_install_snippet(self): 

65 result = template_utils.install_snippet( 

66 "spotify", "latest", "stable", "" 

67 ) 

68 self.assertTrue(result, "sudo snap install spotify") 

69 

70 def test_install_snippet_with_classic(self): 

71 result = template_utils.install_snippet( 

72 "skype", "latest", "stable", "classic" 

73 ) 

74 self.assertTrue(result, "sudo snap install skype --classic") 

75 

76 def test_install_snippet_with_non_stable_risk_level(self): 

77 result = template_utils.install_snippet("test", "latest", "edge", "") 

78 self.assertTrue(result, "sudo snap install test --edge") 

79 

80 def test_display_name(self): 

81 result = template_utils.display_name("Toto", "toto") 

82 self.assertEqual(result, "Toto") 

83 

84 result = template_utils.display_name("Toto", "username") 

85 self.assertEqual(result, "Toto (username)") 

86 

87 def test_join(self): 

88 result = template_utils.join(["item1", "item2"], "-") 

89 self.assertEqual(result, "item1-item2") 

90 

91 def test_static_url_no_file(self): 

92 result = template_utils.static_url("url") 

93 self.assertEqual(result, "/static/url") 

94 

95 def test_static_url(self): 

96 result = template_utils.static_url("images/rocket.png") 

97 self.assertEqual(result, "/static/images/rocket.png?v=7d7c26f") 

98 

99 def test_format_date(self): 

100 result = template_utils.format_date( 

101 "2019-09-02T09:27:58.930567+00:00", "%d %B %Y" 

102 ) 

103 self.assertEqual(result, "02 September 2019") 

104 

105 def test_format_member_role(self): 

106 result = template_utils.format_member_role("admin") 

107 self.assertEqual(result, "admin") 

108 

109 result = template_utils.format_member_role("review") 

110 self.assertEqual(result, "reviewer") 

111 

112 result = template_utils.format_member_role("view") 

113 self.assertEqual(result, "viewer") 

114 

115 result = template_utils.format_member_role("access") 

116 self.assertEqual(result, "publisher") 

117 

118 def test_format_link(self): 

119 result = template_utils.format_link("mailto:hello@example.com") 

120 self.assertEqual(result, "hello@example.com") 

121 

122 result = template_utils.format_link("https://example.com") 

123 self.assertEqual(result, "example.com") 

124 

125 result = template_utils.format_link("http://example.com") 

126 self.assertEqual(result, "example.com") 

127 

128 result = template_utils.format_link("https://example.com/") 

129 self.assertEqual(result, "example.com") 

130 

131 result = template_utils.format_link("http://example.com/") 

132 self.assertEqual(result, "example.com") 

133 

134 result = template_utils.format_link("https://example.com/path") 

135 self.assertEqual(result, "example.com") 

136 

137 result = template_utils.format_link("http://example.com/path") 

138 self.assertEqual(result, "example.com") 

139 

140 result = template_utils.format_link("https://example.com/path/") 

141 self.assertEqual(result, "example.com") 

142 

143 result = template_utils.format_link("http://example.com/path/") 

144 self.assertEqual(result, "example.com") 

145 

146 result = template_utils.format_link("https://example.com/path/path") 

147 self.assertEqual(result, "example.com") 

148 

149 result = template_utils.format_link("http://example.com/path/path") 

150 self.assertEqual(result, "example.com") 

151 

152 result = template_utils.format_link("https://example.com/path/path/") 

153 self.assertEqual(result, "example.com") 

154 

155 result = template_utils.format_link("http://example.com/path/path/") 

156 self.assertEqual(result, "example.com") 

157 

158 result = template_utils.format_link("https://example.com?foo=bar") 

159 self.assertEqual(result, "example.com") 

160 

161 result = template_utils.format_link("http://example.com?foo=bar") 

162 self.assertEqual(result, "example.com") 

163 

164 result = template_utils.format_link("https://example.com/?foo=bar") 

165 self.assertEqual(result, "example.com") 

166 

167 result = template_utils.format_link("http://example.com/?foo=bar") 

168 self.assertEqual(result, "example.com") 

169 

170 result = template_utils.format_link( 

171 "https://example.com?foo=bar&bar=foo" 

172 ) 

173 self.assertEqual(result, "example.com") 

174 

175 result = template_utils.format_link( 

176 "http://example.com?foo=bar&bar=foo" 

177 ) 

178 self.assertEqual(result, "example.com") 

179 

180 result = template_utils.format_link( 

181 "https://example.com/?foo=bar&bar=foo" 

182 ) 

183 self.assertEqual(result, "example.com") 

184 

185 result = template_utils.format_link( 

186 "http://example.com/?foo=bar&bar=foo" 

187 ) 

188 self.assertEqual(result, "example.com") 

189 

190 result = template_utils.format_link("https://example.com/path?foo=bar") 

191 self.assertEqual(result, "example.com") 

192 

193 result = template_utils.format_link("http://example.com/path?foo=bar") 

194 self.assertEqual(result, "example.com") 

195 

196 result = template_utils.format_link( 

197 "https://example.com/path/?foo=bar" 

198 ) 

199 self.assertEqual(result, "example.com") 

200 

201 result = template_utils.format_link("http://example.com/path/?foo=bar") 

202 self.assertEqual(result, "example.com") 

203 

204 result = template_utils.format_link( 

205 "https://example.com/path/path?foo=bar" 

206 ) 

207 self.assertEqual(result, "example.com") 

208 

209 result = template_utils.format_link( 

210 "http://example.com/path/path?foo=bar" 

211 ) 

212 self.assertEqual(result, "example.com") 

213 

214 result = template_utils.format_link( 

215 "https://example.com/path/path/?foo=bar" 

216 ) 

217 self.assertEqual(result, "example.com") 

218 

219 result = template_utils.format_link( 

220 "http://example.com/path/path/?foo=bar" 

221 ) 

222 self.assertEqual(result, "example.com") 

223 

224 result = template_utils.format_link("https://example.com/path?foo=bar") 

225 self.assertEqual(result, "example.com") 

226 

227 result = template_utils.format_link("http://example.com/path?foo=bar") 

228 self.assertEqual(result, "example.com") 

229 

230 result = template_utils.format_link( 

231 "https://example.com/path/?foo=bar" 

232 ) 

233 self.assertEqual(result, "example.com") 

234 

235 result = template_utils.format_link( 

236 "http://example.com/path/?foo=bar&bar=foo" 

237 ) 

238 self.assertEqual(result, "example.com") 

239 

240 result = template_utils.format_link( 

241 "https://example.com/path/path?foo=bar&bar=foo" 

242 ) 

243 self.assertEqual(result, "example.com") 

244 

245 result = template_utils.format_link( 

246 "http://example.com/path/path?foo=bar&bar=foo" 

247 ) 

248 self.assertEqual(result, "example.com") 

249 

250 result = template_utils.format_link( 

251 "https://example.com/path/path/?foo=bar&bar=foo" 

252 ) 

253 self.assertEqual(result, "example.com") 

254 

255 result = template_utils.format_link( 

256 "http://example.com/path/path/?foo=bar&bar=foo" 

257 ) 

258 self.assertEqual(result, "example.com") 

259 

260 for domain in [ 

261 "github.com", 

262 "gitlab.com", 

263 "bitbucket.org", 

264 "launchpad.net", 

265 "sourceforge.net", 

266 ]: 

267 result = template_utils.format_link(f"https://{domain}/test/test") 

268 self.assertEqual(result, f"{domain}/test/test") 

269 

270 result = template_utils.format_link( 

271 f"http://{domain}/test/test?foo=bar" 

272 ) 

273 self.assertEqual(result, f"{domain}/test/test") 

274 

275 result = template_utils.format_link(f"http://{domain}/test/test") 

276 self.assertEqual(result, f"{domain}/test/test") 

277 

278 result = template_utils.format_link( 

279 f"http://{domain}/test/test?foo=bar" 

280 ) 

281 self.assertEqual(result, f"{domain}/test/test")