Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python312Packages.unicode-slugify: drop nose dependency #329998

Merged
merged 1 commit into from
Jul 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 14 additions & 6 deletions pkgs/development/python-modules/unicode-slugify/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
lib,
buildPythonPackage,
fetchPypi,
nose,
fetchpatch,
pytestCheckHook,
six,
unidecode,
unittestCheckHook,
}:

buildPythonPackage rec {
Expand All @@ -18,15 +18,23 @@ buildPythonPackage rec {
sha256 = "25f424258317e4cb41093e2953374b3af1f23097297664731cdb3ae46f6bd6c3";
};

patches = [
./use_pytest_instead_of_nose.patch
# mozilla/unicode-slugify#41: Fix Python 3.12 SyntaxWarning
(fetchpatch {
url = "https://github.com/mozilla/unicode-slugify/commit/a18826f440d0b74e536f5e32ebdcf30e720f20d8.patch";
hash = "sha256-B27psp0XI5GhoR0l5lFpUOh88hHzjJYzJS5PnIkfFws=";
})
Sigmanificient marked this conversation as resolved.
Show resolved Hide resolved
];

propagatedBuildInputs = [
six
unidecode
];

nativeCheckInputs = [
nose
unittestCheckHook
];
nativeCheckInputs = [ pytestCheckHook ];

pytestFlagsArray = [ "slugify/tests.py" ];

meta = with lib; {
description = "Generates unicode slugs";
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
diff --git a/slugify/tests.py b/slugify/tests.py
index 9f636c4..5562e87 100644
--- a/slugify/tests.py
+++ b/slugify/tests.py
@@ -3,7 +3,7 @@ from __future__ import unicode_literals

import six
import unittest
-from nose.tools import eq_, raises
+import pytest

from slugify import slugify, smart_text, SLUG_OK

@@ -13,31 +13,31 @@ def test_slugify():
x = '-'.join([u, u])
y = ' - '.join([u, u])

- @raises(ValueError)
def test_incoherent_ok_and_only_ascii_raises_an_error():
"""Checks that only_ascii=True with non ascii "ok" chars actually raises an error."""
- slugify('angry smiley !', ok='è_é', only_ascii=True)
+ with pytest.raises(ValueError):
+ slugify('angry smiley !', ok='è_é', only_ascii=True)

def check(x, y):
- eq_(slugify(x), y)
+ assert slugify(x) == y

def check_only_ascii(x, y):
- eq_(slugify(x, only_ascii=True), y)
+ assert slugify(x, only_ascii=True) == y

def check_only_ascii_capital(x, y):
- eq_(slugify(x, lower=False, only_ascii=True), y)
+ assert slugify(x, lower=False, only_ascii=True) == y

def check_only_ascii_lower_nospaces(x, y):
- eq_(slugify(x, lower=True, spaces=False, only_ascii=True), y)
+ assert slugify(x, lower=True, spaces=False, only_ascii=True) == y

def check_ok_chars(x, y):
- eq_(slugify(x, ok='-♰é_è'), y)
+ assert slugify(x, ok='-♰é_è') == y

def check_empty_ok_chars(x, y):
- eq_(slugify(x, ok=''), y)
+ assert slugify(x, ok='') == y

def check_limited_ok_chars_only_ascii(x, y):
- eq_(slugify(x, ok='-', only_ascii=True), y)
+ assert slugify(x, ok='-', only_ascii=True) == y

s = [('xx x - "#$@ x', 'xx-x-x'),
('Bän...g (bang)', 'bäng-bang'),
@@ -112,11 +112,11 @@ def test_slugify():

#Test custom space replacement
x, y = ('-☀- pretty waves under the sunset 😎', '--~pretty~waves~under~the~sunset')
- eq_(slugify(x, space_replacement='~'), y)
+ assert slugify(x, space_replacement='~') == y

#Test default auto space replacement
x, y = ('-☀- pretty waves under the sunset 😎', 'pretty~waves~under~the~sunset')
- eq_(slugify(x, ok='~'), y)
+ assert slugify(x, ok='~') == y


class SmartTextTestCase(unittest.TestCase):