diff --git a/fluent/migrate/context.py b/fluent/migrate/context.py index b1fc94c6..a1cd9d59 100644 --- a/fluent/migrate/context.py +++ b/fluent/migrate/context.py @@ -14,11 +14,7 @@ from fluent.syntax.parser import FluentParser from fluent.syntax.serializer import FluentSerializer from fluent.util import fold -try: - from compare_locales.parser import getParser -except ImportError: - def getParser(path): - raise RuntimeError('compare-locales required') +from compare_locales.parser import getParser from .cldr import get_plural_categories from .transforms import Source diff --git a/setup.py b/setup.py index 560e971d..b0cb7471 100644 --- a/setup.py +++ b/setup.py @@ -21,5 +21,6 @@ package_data={ 'fluent.migrate': ['cldr_data/*'] }, - tests_require=['six'] + tests_require=['six'], + test_suite='tests.syntax' ) diff --git a/tests/migrate/test_concat.py b/tests/migrate/test_concat.py index 6d2f35eb..1dbbb938 100644 --- a/tests/migrate/test_concat.py +++ b/tests/migrate/test_concat.py @@ -2,13 +2,9 @@ from __future__ import unicode_literals import unittest +from compare_locales.parser import PropertiesParser, DTDParser import fluent.syntax.ast as FTL -try: - from compare_locales.parser import PropertiesParser, DTDParser -except ImportError: - DTDParser = PropertiesParser = None - from fluent.migrate.util import parse, ftl_message_to_json from fluent.migrate.helpers import EXTERNAL_ARGUMENT, MESSAGE_REFERENCE from fluent.migrate.transforms import evaluate, CONCAT, COPY, REPLACE @@ -23,7 +19,6 @@ def get_source(self, path, key): return self.strings.get(key, None).val -@unittest.skipUnless(PropertiesParser, 'compare-locales required') class TestConcatCopy(MockContext): def setUp(self): self.strings = parse(PropertiesParser, ''' @@ -120,7 +115,6 @@ def test_concat_whitespace_end(self): ) -@unittest.skipUnless(DTDParser, 'compare-locales required') class TestConcatLiteral(MockContext): def setUp(self): self.strings = parse(DTDParser, ''' @@ -149,7 +143,6 @@ def test_concat_literal(self): ) -@unittest.skipUnless(DTDParser, 'compare-locales required') class TestConcatInterpolate(MockContext): def setUp(self): self.strings = parse(DTDParser, ''' @@ -192,7 +185,6 @@ def test_concat_expression(self): ) -@unittest.skipUnless(DTDParser, 'compare-locales required') class TestConcatReplace(MockContext): def setUp(self): self.strings = parse(DTDParser, ''' diff --git a/tests/migrate/test_context.py b/tests/migrate/test_context.py index 56f0f50d..50ed06f5 100644 --- a/tests/migrate/test_context.py +++ b/tests/migrate/test_context.py @@ -4,14 +4,9 @@ import os import logging import unittest - -try: - import compare_locales -except ImportError: - compare_locales = None +import compare_locales import fluent.syntax.ast as FTL - from fluent.migrate.errors import ( EmptyLocalizationError, NotSupportedError, UnreadableReferenceError) from fluent.migrate.util import ftl, ftl_resource_to_json, to_json @@ -24,7 +19,6 @@ def here(*parts): return os.path.join(dirname, *parts) -@unittest.skipUnless(compare_locales, 'compare-locales requried') class TestMergeContext(unittest.TestCase): def setUp(self): self.ctx = MergeContext( @@ -250,7 +244,6 @@ def test_missing_reference_file(self): self.ctx.add_transforms('some.ftl', 'missing.ftl', []) -@unittest.skipUnless(compare_locales, 'compare-locales requried') class TestMissingLocalizationFiles(unittest.TestCase): def setUp(self): # Silence all logging. @@ -313,7 +306,6 @@ def test_all_files_missing(self): ]) -@unittest.skipUnless(compare_locales, 'compare-locales requried') class TestMissingLocalizationStrings(unittest.TestCase): maxDiff = None @@ -528,7 +520,6 @@ def test_missing_string_in_one_of_attributes(self): ) -@unittest.skipUnless(compare_locales, 'compare-locales requried') class TestExistingTarget(unittest.TestCase): maxDiff = None diff --git a/tests/migrate/test_context_real_examples.py b/tests/migrate/test_context_real_examples.py index 15868262..deaf9cd9 100644 --- a/tests/migrate/test_context_real_examples.py +++ b/tests/migrate/test_context_real_examples.py @@ -3,14 +3,9 @@ import os import unittest - -try: - import compare_locales -except ImportError: - compare_locales = None +import compare_locales import fluent.syntax.ast as FTL - from fluent.migrate.util import ftl_resource_to_json, to_json from fluent.migrate.context import MergeContext from fluent.migrate.helpers import EXTERNAL_ARGUMENT, MESSAGE_REFERENCE @@ -24,7 +19,6 @@ def here(*parts): return os.path.join(dirname, *parts) -@unittest.skipUnless(compare_locales, 'compare-locales requried') class TestMergeAboutDownloads(unittest.TestCase): def setUp(self): self.ctx = MergeContext( @@ -279,7 +273,6 @@ def test_merge_context_some_messages(self): ) -@unittest.skipUnless(compare_locales, 'compare-locales requried') class TestMergeAboutDialog(unittest.TestCase): maxDiff = None diff --git a/tests/migrate/test_copy.py b/tests/migrate/test_copy.py index 6d0241aa..5def8a39 100644 --- a/tests/migrate/test_copy.py +++ b/tests/migrate/test_copy.py @@ -2,13 +2,9 @@ from __future__ import unicode_literals import unittest +from compare_locales.parser import PropertiesParser, DTDParser import fluent.syntax.ast as FTL -try: - from compare_locales.parser import PropertiesParser, DTDParser -except ImportError: - PropertiesParser = DTDParser = None - from fluent.migrate.util import parse, ftl_message_to_json from fluent.migrate.transforms import evaluate, COPY @@ -20,7 +16,6 @@ def get_source(self, path, key): return self.strings.get(key, None).val -@unittest.skipUnless(PropertiesParser, 'compare-locales required') class TestCopy(MockContext): def setUp(self): self.strings = parse(PropertiesParser, ''' @@ -71,7 +66,6 @@ def test_copy_escape_unicode_end(self): ) -@unittest.skipUnless(DTDParser, 'compare-locales required') class TestCopyAttributes(MockContext): def setUp(self): self.strings = parse(DTDParser, ''' diff --git a/tests/migrate/test_merge.py b/tests/migrate/test_merge.py index 9178326e..fbd40398 100644 --- a/tests/migrate/test_merge.py +++ b/tests/migrate/test_merge.py @@ -2,14 +2,10 @@ from __future__ import unicode_literals import unittest +from compare_locales.parser import PropertiesParser, DTDParser import fluent.syntax.ast as FTL from fluent.syntax.parser import FluentParser -try: - from compare_locales.parser import PropertiesParser, DTDParser -except ImportError: - PropertiesParser = DTDParser = None - from fluent.migrate.util import parse, ftl, ftl_resource_to_json from fluent.migrate.merge import merge_resource from fluent.migrate.transforms import COPY @@ -25,8 +21,6 @@ def get_source(self, path, key): return translation.val -@unittest.skipUnless(PropertiesParser and DTDParser, - 'compare-locales required') class TestMergeMessages(MockContext): maxDiff = None @@ -129,8 +123,6 @@ def test_merge_three_way(self): ) -@unittest.skipUnless(PropertiesParser and DTDParser, - 'compare-locales required') class TestMergeAllEntries(MockContext): def setUp(self): self.en_us_ftl = parse(FluentParser, ftl(''' @@ -245,8 +237,6 @@ def test_merge_three_way(self): ) -@unittest.skipUnless(PropertiesParser and DTDParser, - 'compare-locales required') class TestMergeSubset(MockContext): def setUp(self): self.en_us_ftl = parse(FluentParser, ftl(''' diff --git a/tests/migrate/test_plural.py b/tests/migrate/test_plural.py index 044dd074..159ab7e7 100644 --- a/tests/migrate/test_plural.py +++ b/tests/migrate/test_plural.py @@ -2,13 +2,9 @@ from __future__ import unicode_literals import unittest +from compare_locales.parser import PropertiesParser import fluent.syntax.ast as FTL -try: - from compare_locales.parser import PropertiesParser -except ImportError: - PropertiesParser = None - from fluent.migrate.util import parse, ftl_message_to_json from fluent.migrate.helpers import EXTERNAL_ARGUMENT from fluent.migrate.transforms import evaluate, PLURALS, REPLACE_IN_TEXT @@ -25,7 +21,6 @@ def get_source(self, path, key): return self.strings.get(key, None).val -@unittest.skipUnless(PropertiesParser, 'compare-locales required') class TestPlural(MockContext): def setUp(self): self.strings = parse(PropertiesParser, ''' @@ -79,7 +74,6 @@ def test_plural_too_many_variants(self): ) -@unittest.skipUnless(PropertiesParser, 'compare-locales required') class TestPluralLiteral(MockContext): def setUp(self): self.strings = parse(PropertiesParser, ''' @@ -108,7 +102,6 @@ def test_plural_literal(self): ) -@unittest.skipUnless(PropertiesParser, 'compare-locales required') class TestPluralReplace(MockContext): def setUp(self): self.strings = parse(PropertiesParser, ''' @@ -143,7 +136,6 @@ def test_plural_replace(self): ) -@unittest.skipUnless(PropertiesParser, 'compare-locales required') class TestOneCategory(MockContext): # Plural categories corresponding to Turkish (tr). plural_categories = ('other',) @@ -177,7 +169,6 @@ def test_no_select_expression(self): ) -@unittest.skipUnless(PropertiesParser, 'compare-locales required') class TestManyCategories(MockContext): # Plural categories corresponding to Polish (pl). plural_categories = ('one', 'few', 'many', 'other') diff --git a/tests/migrate/test_replace.py b/tests/migrate/test_replace.py index 7bc01879..b92b9330 100644 --- a/tests/migrate/test_replace.py +++ b/tests/migrate/test_replace.py @@ -2,13 +2,9 @@ from __future__ import unicode_literals import unittest +from compare_locales.parser import PropertiesParser import fluent.syntax.ast as FTL -try: - from compare_locales.parser import PropertiesParser -except ImportError: - PropertiesParser = None - from fluent.migrate.util import parse, ftl_message_to_json from fluent.migrate.helpers import EXTERNAL_ARGUMENT from fluent.migrate.transforms import evaluate, REPLACE @@ -23,7 +19,6 @@ def get_source(self, path, key): return self.strings.get(key, None).val -@unittest.skipUnless(PropertiesParser, 'compare-locales required') class TestReplace(MockContext): def setUp(self): self.strings = parse(PropertiesParser, ''' diff --git a/tests/migrate/test_source.py b/tests/migrate/test_source.py index d3192548..3d2580a6 100644 --- a/tests/migrate/test_source.py +++ b/tests/migrate/test_source.py @@ -2,14 +2,9 @@ from __future__ import unicode_literals import unittest - -try: - from compare_locales.parser import PropertiesParser, DTDParser -except ImportError: - PropertiesParser = DTDParser = None +from compare_locales.parser import PropertiesParser, DTDParser import fluent.syntax.ast as FTL - from fluent.migrate.errors import NotSupportedError from fluent.migrate.transforms import Source, COPY, PLURALS, REPLACE from fluent.migrate.util import parse @@ -63,7 +58,6 @@ def get_source(self, _path, key): return self.strings[key].val -@unittest.skipUnless(PropertiesParser, 'compare-locales required') class TestProperties(MockContext): def setUp(self): self.strings = parse(PropertiesParser, ''' @@ -97,7 +91,6 @@ def test_html_entity(self): self.assertEqual(source(self), '<⇧⌘K>') -@unittest.skipUnless(DTDParser, 'compare-locales required') class TestDTD(MockContext): def setUp(self): self.strings = parse(DTDParser, ''' diff --git a/tox.ini b/tox.ini index 87081acb..78ebd64a 100644 --- a/tox.ini +++ b/tox.ini @@ -5,8 +5,13 @@ skipsdist=True [testenv] setenv = PYTHONPATH = {toxinidir} +deps = six +commands = python -m unittest discover -s tests/syntax + +[testenv:py27-cl] deps = six - cl: compare-locales - -commands=python -m unittest discover + compare-locales +commands = + python -m unittest discover -s tests/syntax + python -m unittest discover -s tests/migrate