mirror of
https://github.com/zkemail/zk-email-verify.git
synced 2026-01-08 21:18:09 -05:00
51 lines
1.6 KiB
Solidity
51 lines
1.6 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.30;
|
|
|
|
import { Test } from "forge-std/Test.sol";
|
|
import { CircuitUtilsHelper } from "./_CircuitUtilsHelper.sol";
|
|
|
|
contract ExtractEmailPartsTest is Test {
|
|
CircuitUtilsHelper private _helper;
|
|
|
|
function setUp() public {
|
|
_helper = new CircuitUtilsHelper();
|
|
}
|
|
|
|
function test_simpleEmail() public view {
|
|
string memory email = "user@gmail.com";
|
|
string[] memory parts = _helper.callExtractEmailParts(email);
|
|
assertEq(parts.length, 2);
|
|
assertEq(parts[0], "user$gmail");
|
|
assertEq(parts[1], "com");
|
|
}
|
|
|
|
function test_emailWithSubdomain() public view {
|
|
string memory email = "user@sub.domain.com";
|
|
string[] memory parts = _helper.callExtractEmailParts(email);
|
|
assertEq(parts.length, 3);
|
|
assertEq(parts[0], "user$sub");
|
|
assertEq(parts[1], "domain");
|
|
assertEq(parts[2], "com");
|
|
}
|
|
|
|
function test_emailWithMultipleDots() public view {
|
|
string memory email = "user@domain.co.uk";
|
|
string[] memory parts = _helper.callExtractEmailParts(email);
|
|
assertEq(parts.length, 3);
|
|
assertEq(parts[0], "user$domain");
|
|
assertEq(parts[1], "co");
|
|
assertEq(parts[2], "uk");
|
|
}
|
|
|
|
function test_complexEmail() public view {
|
|
string memory email = "user.name+tag@sub.domain.co.uk";
|
|
string[] memory parts = _helper.callExtractEmailParts(email);
|
|
assertEq(parts.length, 5);
|
|
assertEq(parts[0], "user");
|
|
assertEq(parts[1], "name+tag$sub");
|
|
assertEq(parts[2], "domain");
|
|
assertEq(parts[3], "co");
|
|
assertEq(parts[4], "uk");
|
|
}
|
|
}
|