Add suggest menu for user mentions in text editor

This commit is contained in:
Frederic Guillot
2016-11-27 15:44:45 -05:00
parent 04ff67e26b
commit d8b0423d15
21 changed files with 454 additions and 30 deletions

View File

@@ -59,6 +59,38 @@ class FunctionTest extends Base
$this->assertSame($expected, array_column_index($input, 'k1'));
}
public function testArrayColumnIndexUnique()
{
$input = array(
array(
'k1' => 11,
'k2' => 22,
),
array(
'k1' => 11,
'k2' => 55,
),
array(
'k1' => 33,
'k2' => 44,
),
array()
);
$expected = array(
11 => array(
'k1' => 11,
'k2' => 22,
),
33 => array(
'k1' => 33,
'k2' => 44,
)
);
$this->assertSame($expected, array_column_index_unique($input, 'k1'));
}
public function testArrayMergeRelation()
{
$relations = array(

View File

@@ -26,7 +26,7 @@ class ProjectPermissionModelTest extends Base
$this->assertEquals(1, $projectModel->create(array('name' => 'Project 1')));
$this->assertEquals(2, $userModel->create(array('username' => 'user1')));
$this->assertEquals(3, $userModel->create(array('username' => 'user2')));
$this->assertEquals(3, $userModel->create(array('username' => 'user2', 'name' => 'User 2', 'email' => 'test@here', 'avatar_path' => 'test')));
$this->assertEquals(4, $userModel->create(array('username' => 'user3')));
$this->assertEquals(1, $groupModel->create('Group A'));
@@ -35,7 +35,24 @@ class ProjectPermissionModelTest extends Base
$this->assertTrue($groupRoleModel->addGroup(1, 1, Role::PROJECT_MEMBER));
$this->assertTrue($userRoleModel->addUser(1, 3, Role::PROJECT_MANAGER));
$this->assertEquals(array('user1', 'user2'), $projectPermissionModel->findUsernames(1, 'us'));
$expected = array(
'user1' => array(
'username' => 'user1',
'name' => null,
'email' => null,
'avatar_path' => null,
'id' => '2',
),
'user2' => array(
'username' => 'user2',
'name' => 'User 2',
'email' => 'test@here',
'avatar_path' => 'test',
'id' => '3',
)
);
$this->assertEquals($expected, $projectPermissionModel->findUsernames(1, 'us'));
$this->assertEmpty($projectPermissionModel->findUsernames(1, 'a'));
$this->assertEmpty($projectPermissionModel->findUsernames(2, 'user'));
}