summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/crypt_checksalt.phpt12
-rw-r--r--tests/crypt_gensalt.phpt25
-rw-r--r--tests/crypt_preferred_method.phpt9
-rw-r--r--tests/password_compat.phpt22
4 files changed, 68 insertions, 0 deletions
diff --git a/tests/crypt_checksalt.phpt b/tests/crypt_checksalt.phpt
new file mode 100644
index 0000000..4fbd8bf
--- /dev/null
+++ b/tests/crypt_checksalt.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Test crypt_checksalt
+--FILE--
+<?php
+var_dump(crypt_checksalt(crypt_gensalt(XPASS_CRYPT_STD_DES)) === CRYPT_SALT_METHOD_LEGACY);
+var_dump(crypt_checksalt(crypt_gensalt()) === CRYPT_SALT_OK);
+var_dump(crypt_checksalt("!not_a_valid_hash") === CRYPT_SALT_INVALID);
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
diff --git a/tests/crypt_gensalt.phpt b/tests/crypt_gensalt.phpt
new file mode 100644
index 0000000..b838a04
--- /dev/null
+++ b/tests/crypt_gensalt.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Test crypt_gensalt
+--FILE--
+<?php
+var_dump(crypt_gensalt(XPASS_CRYPT_STD_DES));
+var_dump(crypt_gensalt(XPASS_CRYPT_EXT_DES));
+var_dump(crypt_gensalt(XPASS_CRYPT_MD5));
+var_dump(crypt_gensalt(XPASS_CRYPT_BLOWFISH));
+var_dump(crypt_gensalt(XPASS_CRYPT_SHA256));
+var_dump(crypt_gensalt(XPASS_CRYPT_SHA512));
+var_dump(crypt_gensalt(XPASS_CRYPT_SCRYPT));
+var_dump(crypt_gensalt(XPASS_CRYPT_GOST_YESCRYPT));
+var_dump(crypt_gensalt(XPASS_CRYPT_YESCRYPT));
+
+?>
+--EXPECTF--
+string(2) "%s"
+string(9) "_%s"
+string(11) "$1$%s"
+string(29) "$2y$%s"
+string(19) "$5$%s"
+string(19) "$6$%s"
+string(36) "$7$%s"
+string(30) "$gy$%s"
+string(29) "$y$j%s"
diff --git a/tests/crypt_preferred_method.phpt b/tests/crypt_preferred_method.phpt
new file mode 100644
index 0000000..f222639
--- /dev/null
+++ b/tests/crypt_preferred_method.phpt
@@ -0,0 +1,9 @@
+--TEST--
+Test crypt_preferred_method
+--FILE--
+<?php
+var_dump(crypt_preferred_method());
+?>
+--EXPECTF--
+string(%d) "$%s$"
+
diff --git a/tests/password_compat.phpt b/tests/password_compat.phpt
new file mode 100644
index 0000000..3dd6ad2
--- /dev/null
+++ b/tests/password_compat.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Test crypt compatibility with password_hash
+--FILE--
+<?php
+$secret = 'mysecret';
+
+/* generate with password_hash, check with both */
+$h = password_hash($secret, PASSWORD_BCRYPT);
+var_dump($h, password_verify($secret, $h), $h===crypt($secret, $h));
+
+/* generate with crypt, check with both */
+$h = crypt($secret, crypt_gensalt(XPASS_CRYPT_BLOWFISH));
+var_dump($h, password_verify($secret, $h), $h===crypt($secret, $h));
+?>
+--EXPECTF--
+string(60) "$2y$%s$%s"
+bool(true)
+bool(true)
+string(60) "$2y$%s$%s"
+bool(true)
+bool(true)
+