Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
package_control_channel
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Gaurav Kukreja
package_control_channel
Commits
2fd01c28
Commit
2fd01c28
authored
Aug 14, 2013
by
FichteFoll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add tests for invalid characters in `name` (mostly coming from file systems)
parent
8891a2c0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
6 deletions
+14
-6
test.py
tests/test.py
+14
-6
No files found.
tests/test.py
View file @
2fd01c28
...
@@ -149,13 +149,20 @@ class TestContainer(object):
...
@@ -149,13 +149,20 @@ class TestContainer(object):
self
.
assertEqual
(
packages
,
sorted
(
packages
,
key
=
str
.
lower
))
self
.
assertEqual
(
packages
,
sorted
(
packages
,
key
=
str
.
lower
))
def
_test_package
(
self
,
include
,
data
):
def
_test_package
(
self
,
include
,
data
):
for
k
ey
in
data
.
key
s
():
for
k
,
v
in
data
.
item
s
():
self
.
assertIn
(
k
ey
,
self
.
package_key_types_map
)
self
.
assertIn
(
k
,
self
.
package_key_types_map
)
self
.
assertIsInstance
(
data
[
key
],
self
.
package_key_types_map
[
key
])
self
.
assertIsInstance
(
v
,
self
.
package_key_types_map
[
k
])
if
k
ey
in
(
'details'
,
'homepage'
,
'readme'
,
'issues'
,
'donate'
,
if
k
in
(
'details'
,
'homepage'
,
'readme'
,
'issues'
,
'donate'
,
'buy'
):
'buy'
):
self
.
assertRegex
(
data
[
key
],
'^https?://'
)
self
.
assertRegex
(
v
,
'^https?://'
)
# Test for invalid characters (on file systems)
if
k
==
'name'
:
# Invalid on Windows (and sometimes problematic on UNIX)
self
.
assertNotRegex
(
v
,
r'[/?<>\\:*|"\x00-\x19]'
)
# Invalid on OS X (or more precisely: hidden)
self
.
assertFalse
(
v
.
startswith
(
'.'
))
if
'details'
not
in
data
:
if
'details'
not
in
data
:
for
key
in
(
'name'
,
'homepage'
,
'author'
,
'releases'
):
for
key
in
(
'name'
,
'homepage'
,
'author'
,
'releases'
):
...
@@ -341,7 +348,8 @@ class RepositoryTests(TestContainer, unittest.TestCase):
...
@@ -341,7 +348,8 @@ class RepositoryTests(TestContainer, unittest.TestCase):
if
'releases'
in
package
:
if
'releases'
in
package
:
for
release
in
package
[
'releases'
]:
for
release
in
package
[
'releases'
]:
yield
cls
.
_test_release
,
(
package_name
,
release
)
(
yield
cls
.
_test_release
,
(
"
%
s (
%
s)"
%
(
package_name
,
include
),
release
))
################################################################################
################################################################################
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment