Skip to content

Commit

Permalink
Merge pull request #43 from upsuper/os-path
Browse files Browse the repository at this point in the history
Fix more places need the path conversion
  • Loading branch information
jgraham committed Dec 4, 2015
2 parents 617f193 + 1cd0614 commit 489a30d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 14 deletions.
10 changes: 2 additions & 8 deletions manifest/item.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,9 @@
import urlparse
from abc import ABCMeta, abstractmethod, abstractproperty

item_types = ["testharness", "reftest", "manual", "stub", "wdspec"]


def from_os_path(path):
return path.replace(os.path.sep, "/")
from utils import from_os_path, to_os_path


def to_os_path(path):
return path.replace("/", os.path.sep)
item_types = ["testharness", "reftest", "manual", "stub", "wdspec"]


def get_source_file(source_files, tests_root, manifest, path):
Expand Down
14 changes: 8 additions & 6 deletions manifest/manifest.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from item import item_types, ManualTest, WebdriverSpecTest, Stub, RefTest, TestharnessTest
from log import get_logger
from sourcefile import SourceFile
from utils import from_os_path, to_os_path


CURRENT_VERSION = 2
Expand Down Expand Up @@ -207,7 +208,7 @@ def to_json(self):
for item_type, items in self._data.iteritems()
}

reftest_nodes = {key:[v.to_json() for v in value]
reftest_nodes = {from_os_path(key): [v.to_json() for v in value]
for key, value in self.reftest_nodes.iteritems()}

rv = {"url_base": self.url_base,
Expand Down Expand Up @@ -246,6 +247,7 @@ def from_json(cls, tests_root, obj):
self._add(manifest_item)

for path, values in obj["reftest_nodes"].iteritems():
path = to_os_path(path)
for v in values:
item = RefTest.from_json(self, tests_root, v,
source_files=source_files)
Expand Down Expand Up @@ -306,17 +308,16 @@ def __getitem__(self, item_type):
return self._data[item_type]

def to_json(self):
reftest_nodes = {key:[v.to_json() for v in value]
reftest_nodes = {from_os_path(key): [v.to_json() for v in value]
for key, value in self.reftest_nodes.iteritems()}

rv = {"items": defaultdict(dict),
"reftest_nodes": reftest_nodes,
"deleted": []}

rv["deleted"].extend(self._deleted)
"deleted": [from_os_path(path) for path in self._deleted]}

for test_type, paths in self._data.iteritems():
for path, tests in paths.iteritems():
path = from_os_path(path)
rv["items"][test_type][path] = [test.to_json() for test in tests]

return rv
Expand All @@ -343,14 +344,15 @@ def from_json(cls, manifest, tests_root, obj, source_files=None):
self.add(manifest_item)

for path, values in obj["reftest_nodes"].iteritems():
path = to_os_path(path)
for v in values:
item = RefTest.from_json(self.manifest, tests_root, v,
source_files=source_files)
self.reftest_nodes[path].add(item)
self.reftest_nodes_by_url[item.url] = item

for item in obj["deleted"]:
self.add_deleted(item)
self.add_deleted(to_os_path(item))

return self

Expand Down
6 changes: 6 additions & 0 deletions manifest/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ def is_blacklisted(url):
return True
return False

def from_os_path(path):
return path.replace(os.path.sep, "/")

def to_os_path(path):
return path.replace("/", os.path.sep)

class ContextManagerStringIO(StringIO):
def __enter__(self):
return self
Expand Down

0 comments on commit 489a30d

Please sign in to comment.