 ad9e99131d
			
		
	
	ad9e99131d
	
	
	
		
			
			This change removes usage of global Gerrit.DocsUrlBehavior and replace it with direct import. Also, the DocsUrlMixin is removed, because it was introduced as a workaround for polylint tests and is no longer needed. This commit contains the fix for https://gerrit-review.googlesource.com/c/gerrit/+/260133 (which was reverted by https://gerrit-review.googlesource.com/c/gerrit/+/261692). The fix affects only one file: docs-url-behavior.js Change-Id: I09aa39036e40b4a824054088f2857b0eb54d3b39
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!--
 | |
| @license
 | |
| Copyright (C) 2017 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.
 | |
| -->
 | |
| <!-- Polymer included for the html import polyfill. -->
 | |
| <script src="/node_modules/@webcomponents/webcomponentsjs/webcomponents-lite.js"></script>
 | |
| <script src="/components/wct-browser-legacy/browser.js"></script>
 | |
| <title>docs-url-behavior</title>
 | |
| 
 | |
| <script src="/node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script>
 | |
| 
 | |
| <test-fixture id="basic">
 | |
|   <template>
 | |
|     <docs-url-behavior-element></docs-url-behavior-element>
 | |
|   </template>
 | |
| </test-fixture>
 | |
| 
 | |
| <script type="module">
 | |
| import '../../test/common-test-setup.js';
 | |
| import {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';
 | |
| import {DocsUrlBehavior} from './docs-url-behavior.js';
 | |
| suite('docs-url-behavior tests', () => {
 | |
|   let element;
 | |
| 
 | |
|   suiteSetup(() => {
 | |
|     // Define a Polymer element that uses this behavior.
 | |
|     Polymer({
 | |
|       is: 'docs-url-behavior-element',
 | |
|       behaviors: [DocsUrlBehavior],
 | |
|     });
 | |
|   });
 | |
| 
 | |
|   setup(() => {
 | |
|     element = fixture('basic');
 | |
|     element._clearDocsBaseUrlCache();
 | |
|   });
 | |
| 
 | |
|   test('null config', () => {
 | |
|     const mockRestApi = {
 | |
|       probePath: sinon.stub().returns(Promise.resolve(true)),
 | |
|     };
 | |
|     return element.getDocsBaseUrl(null, mockRestApi)
 | |
|         .then(docsBaseUrl => {
 | |
|           assert.isTrue(
 | |
|               mockRestApi.probePath.calledWith('/Documentation/index.html'));
 | |
|           assert.equal(docsBaseUrl, '/Documentation');
 | |
|         });
 | |
|   });
 | |
| 
 | |
|   test('no doc config', () => {
 | |
|     const mockRestApi = {
 | |
|       probePath: sinon.stub().returns(Promise.resolve(true)),
 | |
|     };
 | |
|     const config = {gerrit: {}};
 | |
|     return element.getDocsBaseUrl(config, mockRestApi)
 | |
|         .then(docsBaseUrl => {
 | |
|           assert.isTrue(
 | |
|               mockRestApi.probePath.calledWith('/Documentation/index.html'));
 | |
|           assert.equal(docsBaseUrl, '/Documentation');
 | |
|         });
 | |
|   });
 | |
| 
 | |
|   test('has doc config', () => {
 | |
|     const mockRestApi = {
 | |
|       probePath: sinon.stub().returns(Promise.resolve(true)),
 | |
|     };
 | |
|     const config = {gerrit: {doc_url: 'foobar'}};
 | |
|     return element.getDocsBaseUrl(config, mockRestApi)
 | |
|         .then(docsBaseUrl => {
 | |
|           assert.isFalse(mockRestApi.probePath.called);
 | |
|           assert.equal(docsBaseUrl, 'foobar');
 | |
|         });
 | |
|   });
 | |
| 
 | |
|   test('no probe', () => {
 | |
|     const mockRestApi = {
 | |
|       probePath: sinon.stub().returns(Promise.resolve(false)),
 | |
|     };
 | |
|     return element.getDocsBaseUrl(null, mockRestApi)
 | |
|         .then(docsBaseUrl => {
 | |
|           assert.isTrue(
 | |
|               mockRestApi.probePath.calledWith('/Documentation/index.html'));
 | |
|           assert.isNotOk(docsBaseUrl);
 | |
|         });
 | |
|   });
 | |
| });
 | |
| </script>
 |