To implement some new UI feature, we need a way to specify list of accounts and/or groups. Similar solutions already exists for 'change' view, but it can't be reused as-is in other places. In this commit the existing solution was reworked to use the same editor in different places. Editor was splitted to 2 parts - editor itself and suggestion provider. Change-Id: I43ce060e568a69f9842fbfad6f5fd62361ab2022
		
			
				
	
	
		
			141 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<!--
 | 
						|
@license
 | 
						|
Copyright (C) 2019 The Android Open Source Project
 | 
						|
 | 
						|
Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
you may not use this file except in compliance with the License.
 | 
						|
You may obtain a copy of the License at
 | 
						|
 | 
						|
http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
Unless required by applicable law or agreed to in writing, software
 | 
						|
distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
See the License for the specific language governing permissions and
 | 
						|
limitations under the License.
 | 
						|
-->
 | 
						|
 | 
						|
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
 | 
						|
<title>gr-display-name-utils</title>
 | 
						|
<script src="/test/common-test-setup.js"></script>
 | 
						|
<script src="/bower_components/webcomponentsjs/custom-elements-es5-adapter.js"></script>
 | 
						|
 | 
						|
<script src="/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
 | 
						|
<script src="/bower_components/web-component-tester/browser.js"></script>
 | 
						|
<link rel="import" href="../../test/common-test-setup.html"/>
 | 
						|
<script src="gr-display-name-utils.js"></script>
 | 
						|
 | 
						|
<script>
 | 
						|
  suite('gr-display-name-utils tests', () => {
 | 
						|
    // eslint-disable-next-line no-unused-vars
 | 
						|
    const config = {
 | 
						|
      user: {
 | 
						|
        anonymous_coward_name: 'Anonymous Coward',
 | 
						|
      },
 | 
						|
    };
 | 
						|
 | 
						|
 | 
						|
    test('getUserName name only', () => {
 | 
						|
      const account = {
 | 
						|
        name: 'test-name',
 | 
						|
      };
 | 
						|
      assert.deepEqual(GrDisplayNameUtils.getUserName(config, account, true),
 | 
						|
          'test-name');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getUserName username only', () => {
 | 
						|
      const account = {
 | 
						|
        username: 'test-user',
 | 
						|
      };
 | 
						|
      assert.deepEqual(GrDisplayNameUtils.getUserName(config, account, true),
 | 
						|
          'test-user');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getUserName email only', () => {
 | 
						|
      const account = {
 | 
						|
        email: 'test-user@test-url.com',
 | 
						|
      };
 | 
						|
      assert.deepEqual(GrDisplayNameUtils.getUserName(config, account, true),
 | 
						|
          'test-user@test-url.com');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getUserName returns not Anonymous Coward as the anon name', () => {
 | 
						|
      assert.deepEqual(GrDisplayNameUtils.getUserName(config, null, true),
 | 
						|
          'Anonymous');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getUserName for the config returning the anon name', () => {
 | 
						|
      const config = {
 | 
						|
        user: {
 | 
						|
          anonymous_coward_name: 'Test Anon',
 | 
						|
        },
 | 
						|
      };
 | 
						|
      assert.deepEqual(GrDisplayNameUtils.getUserName(config, null, true),
 | 
						|
          'Test Anon');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getAccountDisplayName - account with name only', () => {
 | 
						|
      assert.equal(
 | 
						|
          GrDisplayNameUtils.getAccountDisplayName(config,
 | 
						|
              {name: 'Some user name'}),
 | 
						|
          'Some user name');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getAccountDisplayName - account with email only', () => {
 | 
						|
      assert.equal(
 | 
						|
          GrDisplayNameUtils.getAccountDisplayName(config,
 | 
						|
              {email: 'my@example.com'}),
 | 
						|
          'Anonymous <my@example.com>');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getAccountDisplayName - account with email only - allowEmail', () => {
 | 
						|
      assert.equal(
 | 
						|
          GrDisplayNameUtils.getAccountDisplayName(config,
 | 
						|
              {email: 'my@example.com'}, true),
 | 
						|
          'my@example.com <my@example.com>');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getAccountDisplayName - account with name and status', () => {
 | 
						|
      assert.equal(
 | 
						|
          GrDisplayNameUtils.getAccountDisplayName(config, {
 | 
						|
            name: 'Some name',
 | 
						|
            status: 'OOO',
 | 
						|
          }),
 | 
						|
          'Some name (OOO)');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getAccountDisplayName - account with name and email', () => {
 | 
						|
      assert.equal(
 | 
						|
          GrDisplayNameUtils.getAccountDisplayName(config, {
 | 
						|
            name: 'Some name',
 | 
						|
            email: 'my@example.com',
 | 
						|
          }),
 | 
						|
          'Some name <my@example.com>');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getAccountDisplayName - account with name, email and status', () => {
 | 
						|
      assert.equal(
 | 
						|
          GrDisplayNameUtils.getAccountDisplayName(config, {
 | 
						|
            name: 'Some name',
 | 
						|
            email: 'my@example.com',
 | 
						|
            status: 'OOO',
 | 
						|
          }),
 | 
						|
          'Some name <my@example.com> (OOO)');
 | 
						|
    });
 | 
						|
 | 
						|
    test('getGroupDisplayName', () => {
 | 
						|
      assert.equal(
 | 
						|
          GrDisplayNameUtils.getGroupDisplayName({name: 'Some user name'}),
 | 
						|
          'Some user name (group)');
 | 
						|
    });
 | 
						|
 | 
						|
    test('_accountEmail', () => {
 | 
						|
      assert.equal(
 | 
						|
          GrDisplayNameUtils._accountEmail('email@gerritreview.com'),
 | 
						|
          '<email@gerritreview.com>');
 | 
						|
      assert.equal(GrDisplayNameUtils._accountEmail(undefined), '');
 | 
						|
    });
 | 
						|
  });
 | 
						|
</script>
 |