From 7a166a95a180b6dcfad0a61bedbe5484ba14e22b Mon Sep 17 00:00:00 2001 From: Justin Ridgewell Date: Thu, 24 Mar 2016 14:30:08 -0400 Subject: [PATCH] Remove DynamicCssClasses Experiment --- .../0.1/amp-dynamic-css-classes.js | 16 +------- .../0.1/test/test-runtime-classes.js | 39 +++++-------------- .../amp-dynamic-css-classes.md | 2 +- tools/experiments/experiments.js | 8 ---- 4 files changed, 13 insertions(+), 52 deletions(-) diff --git a/extensions/amp-dynamic-css-classes/0.1/amp-dynamic-css-classes.js b/extensions/amp-dynamic-css-classes/0.1/amp-dynamic-css-classes.js index b6fd76dab2d1..26ef6375e584 100644 --- a/extensions/amp-dynamic-css-classes/0.1/amp-dynamic-css-classes.js +++ b/extensions/amp-dynamic-css-classes/0.1/amp-dynamic-css-classes.js @@ -15,18 +15,10 @@ */ import {getService} from '../../../src/service'; -import {isExperimentOn} from '../../../src/experiments'; -import {user} from '../../../src/log'; import {parseUrl} from '../../../src/url'; import {viewerFor} from '../../../src/viewer'; import {vsyncFor} from '../../../src/vsync'; -/** @const */ -const TAG = 'AmpDynamicCssClasses'; - -/** @const */ -const EXPERIMENT = 'dynamic-css-classes'; - /** * Strips everything but the domain from referrer string. * @param {!Window} win @@ -143,12 +135,8 @@ function addViewerClass(win) { * @param {!Window} win */ function addRuntimeClasses(win) { - if (isExperimentOn(win, EXPERIMENT)) { - addReferrerClasses(win); - addViewerClass(win); - } else { - user.warn(TAG, `Experiment ${EXPERIMENT} disabled`); - } + addReferrerClasses(win); + addViewerClass(win); } /** diff --git a/extensions/amp-dynamic-css-classes/0.1/test/test-runtime-classes.js b/extensions/amp-dynamic-css-classes/0.1/test/test-runtime-classes.js index 035cc21f393b..de3a13f504a1 100644 --- a/extensions/amp-dynamic-css-classes/0.1/test/test-runtime-classes.js +++ b/extensions/amp-dynamic-css-classes/0.1/test/test-runtime-classes.js @@ -15,7 +15,6 @@ */ import {createServedIframe} from '../../../../testing/iframe'; -import {toggleExperiment} from '../../../../src/experiments'; import {viewerFor} from '../../../../src/viewer'; import {vsyncFor} from '../../../../src/vsync'; @@ -45,12 +44,11 @@ describe('dynamic classes are inserted at runtime', () => { }; } - function setup(enabled, userAgent, referrer) { + function setup(userAgent, referrer) { return createServedIframe(iframeSrc).then(fixture => { const win = fixture.win; documentElement = fixture.doc.documentElement; - toggleExperiment(win, 'dynamic-css-classes', enabled); mockVsync(win); if (userAgent !== undefined) { @@ -64,48 +62,32 @@ describe('dynamic classes are inserted at runtime', () => { }); } - describe('when experiment is disabled', () => { - beforeEach(function() { - this.timeout(5000); - return setup(false); - }); - - it('should not include referrer classes', () => { - expect(documentElement).not.to.have.class('amp-referrer-localhost'); - }); - - it('should not include viewer class', () => { - expect(documentElement).not.to.have.class('amp-viewer'); - }); + beforeEach(function() { + this.timeout(5000); }); - describe('when experiment is enabled', () => { - beforeEach(function() { - this.timeout(5000); - return setup(true); - }); - - it('should include referrer classes', () => { + it('should include referrer classes', () => { + return setup().then(() => { expect(documentElement).to.have.class('amp-referrer-localhost'); }); + }); - it('should include viewer class', () => { + it('should include viewer class', () => { + return setup().then(() => { expect(documentElement).to.have.class('amp-viewer'); }); }); describe('Normalizing Referrers', () => { it('should normalize twitter shortlinks to twitter', function() { - this.timeout(5000); - return setup(true, '', tcoReferrer).then(() => { + return setup('', tcoReferrer).then(() => { expect(documentElement).to.have.class('amp-referrer-com'); expect(documentElement).to.have.class('amp-referrer-twitter-com'); }); }); it('should normalize pinterest on android', function() { - this.timeout(5000); - return setup(true, PinterestUA, '').then(() => { + return setup(PinterestUA, '').then(() => { expect(documentElement).to.have.class('amp-referrer-com'); expect(documentElement).to.have.class('amp-referrer-pinterest-com'); expect(documentElement).to.have.class('amp-referrer-www-pinterest-com'); @@ -114,7 +96,6 @@ describe('dynamic classes are inserted at runtime', () => { }); it('should delay unhiding the body', function() { - this.timeout(5000); return createServedIframe(iframeSrc).then(fixture => { expect(fixture.doc.body).to.be.hidden; diff --git a/extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md b/extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md index bb2f9401e055..56a16cbe629e 100644 --- a/extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md +++ b/extensions/amp-dynamic-css-classes/amp-dynamic-css-classes.md @@ -23,7 +23,7 @@ limitations under the License. Availability - Experimental + Stable Examples diff --git a/tools/experiments/experiments.js b/tools/experiments/experiments.js index 7d0e6c279710..edb6f2d0a08f 100644 --- a/tools/experiments/experiments.js +++ b/tools/experiments/experiments.js @@ -50,14 +50,6 @@ const EXPERIMENTS = [ spec: 'https://github.com/ampproject/amphtml/blob/master/' + 'README.md#amp-dev-channel', }, - - // Dynamic CSS Classes - { - id: 'dynamic-css-classes', - name: 'Dynamic CSS Classes', - spec: 'https://github.com/ampproject/amphtml/blob/master/extensions/' + - 'amp-dynamic-css-classes/amp-dynamic-css-classes.md', - }, ];