103 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			103 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE 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.
 | 
						|
-->
 | 
						|
 | 
						|
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
 | 
						|
<title>gr-app-it_test</title>
 | 
						|
 | 
						|
<script src="/node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script>
 | 
						|
 | 
						|
<script src="/node_modules/@webcomponents/webcomponentsjs/webcomponents-lite.js"></script>
 | 
						|
<script src="/components/wct-browser-legacy/browser.js"></script>
 | 
						|
 | 
						|
<test-fixture id="element">
 | 
						|
  <template>
 | 
						|
    <gr-app id="app"></gr-app>
 | 
						|
  </template>
 | 
						|
</test-fixture>
 | 
						|
 | 
						|
<script type="module">
 | 
						|
import '../test/common-test-setup.js';
 | 
						|
import './gr-app.js';
 | 
						|
import {util} from '../scripts/util.js';
 | 
						|
import {pluginLoader} from './shared/gr-js-api-interface/gr-plugin-loader.js';
 | 
						|
 | 
						|
suite('gr-app custom light theme tests', () => {
 | 
						|
  let sandbox;
 | 
						|
  let element;
 | 
						|
 | 
						|
  setup(done => {
 | 
						|
    sandbox = sinon.sandbox.create();
 | 
						|
    stub('gr-reporting', {
 | 
						|
      appStarted: sandbox.stub(),
 | 
						|
    });
 | 
						|
    stub('gr-account-dropdown', {
 | 
						|
      _getTopContent: sinon.stub(),
 | 
						|
    });
 | 
						|
    stub('gr-rest-api-interface', {
 | 
						|
      getAccount() { return Promise.resolve(null); },
 | 
						|
      getAccountCapabilities() { return Promise.resolve({}); },
 | 
						|
      getConfig() {
 | 
						|
        return Promise.resolve({
 | 
						|
          plugin: {
 | 
						|
            js_resource_paths: [],
 | 
						|
            html_resource_paths: [
 | 
						|
              new URL('test/plugin.html', window.location.href).toString(),
 | 
						|
            ],
 | 
						|
          },
 | 
						|
        });
 | 
						|
      },
 | 
						|
      getVersion() { return Promise.resolve(42); },
 | 
						|
      getLoggedIn() { return Promise.resolve(false); },
 | 
						|
    });
 | 
						|
 | 
						|
    window.localStorage.removeItem('dark-theme');
 | 
						|
 | 
						|
    element = fixture('element');
 | 
						|
 | 
						|
    const importSpy = sandbox.spy(
 | 
						|
        element.$['app-element'].$.externalStyleForAll,
 | 
						|
        '_import');
 | 
						|
    const importForThemeSpy = sandbox.spy(
 | 
						|
        element.$['app-element'].$.externalStyleForTheme,
 | 
						|
        '_import');
 | 
						|
    pluginLoader.awaitPluginsLoaded().then(() => {
 | 
						|
      Promise.all(importSpy.returnValues.concat(importForThemeSpy.returnValues))
 | 
						|
          .then(() => {
 | 
						|
            flush(done);
 | 
						|
          });
 | 
						|
    });
 | 
						|
  });
 | 
						|
 | 
						|
  teardown(() => {
 | 
						|
    sandbox.restore();
 | 
						|
  });
 | 
						|
 | 
						|
  test('applies the right theme', () => {
 | 
						|
    assert.equal(
 | 
						|
        util.getComputedStyleValue('--primary-text-color', element),
 | 
						|
        '#F00BAA');
 | 
						|
    assert.equal(
 | 
						|
        util.getComputedStyleValue('--header-background-color', element),
 | 
						|
        '#F01BAA');
 | 
						|
    assert.equal(
 | 
						|
        util.getComputedStyleValue('--footer-background-color', element),
 | 
						|
        '#F02BAA');
 | 
						|
  });
 | 
						|
});
 | 
						|
</script>
 |