--- featured image keywords ---
client/post-editor/editor-drawer/featured-image.jsx:18:import FeaturedImage from 'post-editor/editor-featured-image';
client/post-editor/editor-drawer/featured-image.jsx:19:import FeaturedImageDropZone from 'post-editor/editor-featured-image/dropzone';
client/post-editor/editor-drawer/featured-image.jsx:48:                         e2eTitle="featured-image"
client/post-editor/editor-drawer/featured-image.jsx:70: isDrawerHidden: isDropZoneVisible( state, 'featuredImage' ),
client/post-editor/editor-drawer/index.jsx:63:          thumbnail: true,
client/post-editor/editor-drawer/index.jsx:71:          thumbnail: true,
client/post-editor/editor-drawer/index.jsx:168:         if ( ! this.currentPostTypeSupports( 'thumbnail' ) ) {
client/post-editor/editor-drawer/index.jsx:173:                 <AsyncLoad require="./featured-image" site={ this.props.site } post={ this.props.post } />
client/post-editor/test/post-editor.jsx:38:jest.mock( 'post-editor/editor-featured-image', () => require( 'components/empty-component' ) );
client/post-editor/style.scss:143:.post-editor__content-editor .editor-featured-image.has-active-drop-zone ~ div.tinymce-container {
client/post-editor/style.scss:247:.post-editor__content-editor .editor-featured-image {
client/post-editor/post-editor.jsx:24:import FeaturedImage from 'post-editor/editor-featured-image';
client/post-editor/media-modal/test/markup.js:77:                               thumbnails: {},
client/post-editor/media-modal/test/markup.js:92:                               thumbnails: {},
client/post-editor/media-modal/test/markup.js:118:                                      thumbnails: {},
client/post-editor/media-modal/test/markup.js:131:                                      thumbnails: {},
client/post-editor/media-modal/test/markup.js:153:                                              thumbnails: {},
client/post-editor/media-modal/test/markup.js:178:                                              thumbnails: {},
client/post-editor/media-modal/test/markup.js:198:                                              thumbnails: {},
client/post-editor/media-modal/test/markup.js:213:                                      thumbnails: {},
client/post-editor/media-modal/test/markup.js:222:                      test( "should attempt to find the site's thumbnail width if a size is specified", () => {
client/post-editor/media-modal/test/markup.js:237:                                              thumbnails: {},
client/post-editor/media-modal/test/markup.js:248:                      test( "should attempt to find the media's own thumbnail width if a size is specified", () => {
client/post-editor/media-modal/test/markup.js:258:                                              thumbnails: {
client/post-editor/media-modal/test/markup.js:277:                                      thumbnails: {},
client/post-editor/media-modal/test/markup.js:294:                                              thumbnails: {},
client/post-editor/media-modal/test/markup.js:311:                                      thumbnails: {},
client/post-editor/media-modal/test/markup.js:327:                                      thumbnails: {},
client/post-editor/media-modal/index.jsx:352:                           thumbnails: {
client/post-editor/media-modal/gallery/fields.jsx:80:                   thumbnail: this.props.translate( 'Thumbnail' ),
client/post-editor/controller.js:130:                           'featured_image',
client/post-editor/controller.js:132:                           'post_thumbnail',
client/post-editor/controller.js:139:                   postAttributes.featured_image = getFeaturedImageId( postToCopy );
client/post-editor/controller.js:145:                    * caused some of them (notably the featured image) to revert to their original value
client/post-editor/editor-featured-image/preview.jsx:82:                        size: 'post-thumbnail',
client/post-editor/editor-featured-image/preview.jsx:96:                const classes = classNames( 'editor-featured-image__preview', {
client/post-editor/editor-featured-image/preview.jsx:115:                                       className="editor-featured-image__preview-image"
client/post-editor/editor-featured-image/preview-container.jsx:74:                                      featured_image: image.ID,
client/post-editor/editor-featured-image/style.scss:1:.editor-featured-image {
client/post-editor/editor-featured-image/style.scss:7:.editor-featured-image.has-active-drop-zone {
client/post-editor/editor-featured-image/style.scss:14:.editor-featured-image__dropzone {
client/post-editor/editor-featured-image/style.scss:19:.editor-featured-image__current-image {
client/post-editor/editor-featured-image/style.scss:29: &.button.is-borderless .editor-featured-image__edit-icon {
client/post-editor/editor-featured-image/style.scss:39: &.button.is-borderless:hover .editor-featured-image__edit-icon {
client/post-editor/editor-featured-image/style.scss:44:.editor-featured-image__inner-content {
client/post-editor/editor-featured-image/style.scss:49:.editor-featured-image__preview.is-transient::after {
client/post-editor/editor-featured-image/style.scss:57: z-index: z-index( 'root', '.editor-featured-image__preview.is-transient::after' );
client/post-editor/editor-featured-image/style.scss:60:.editor-featured-image__preview .spinner {
client/post-editor/editor-featured-image/style.scss:64:.editor-featured-image__preview.is-transient .spinner {
client/post-editor/editor-featured-image/style.scss:68:.editor-featured-image__preview .spinner {
client/post-editor/editor-featured-image/style.scss:69: z-index: z-index( 'root', '.editor-featured-image .editor-drawer-well__remove' );
client/post-editor/editor-featured-image/style.scss:72:.editor-featured-image__preview .spinner {
client/post-editor/editor-featured-image/style.scss:79:.editor-featured-image__preview .image-preloader {
client/post-editor/editor-featured-image/style.scss:83:.editor-featured-image__preview .spinner-line {
client/post-editor/editor-featured-image/style.scss:88:.editor-featured-image__preview.has-assigned-height ~ .editor-featured-image__edit-icon {
client/post-editor/editor-featured-image/style.scss:92:.editor-featured-image__preview.has-assigned-height .spinner-line {
client/post-editor/editor-featured-image/style.scss:99:.editor-featured-image__preview .spinner__border {
client/post-editor/editor-featured-image/style.scss:103:.editor-featured-image__preview-image {
client/post-editor/editor-featured-image/dropzone.jsx:41:               const transientMediaId = uniqueId( 'featured-image' );
client/post-editor/editor-featured-image/dropzone.jsx:63:                                       this.props.recordTracksEvent( 'calypso_editor_featured_image_upload', {
client/post-editor/editor-featured-image/dropzone.jsx:77:                       // this.props.editPost( siteId, this.props.postId, { featured_image: media.ID } );
client/post-editor/editor-featured-image/dropzone.jsx:82:                                       featured_image: media.ID,
client/post-editor/editor-featured-image/dropzone.jsx:99:                               className="editor-featured-image__dropzone"
client/post-editor/editor-featured-image/dropzone.jsx:100:                              dropZoneName="featuredImage"
client/post-editor/editor-featured-image/index.jsx:23:import FeaturedImageDropZone from 'post-editor/editor-featured-image/dropzone';
client/post-editor/editor-featured-image/index.jsx:35:          featuredImage: PropTypes.object,
client/post-editor/editor-featured-image/index.jsx:59:          const { featuredImage, site } = this.props;
client/post-editor/editor-featured-image/index.jsx:61:          if ( featuredImage ) {
client/post-editor/editor-featured-image/index.jsx:62:                  MediaActions.setLibrarySelectedItems( site.ID, [ featuredImage ] );
client/post-editor/editor-featured-image/index.jsx:85:                  featured_image: value.items[ 0 ].ID,
client/post-editor/editor-featured-image/index.jsx:88:          stats.recordStat( 'featured_image_set' );
client/post-editor/editor-featured-image/index.jsx:91:          this.props.recordTracksEvent( 'calypso_editor_featured_image_upload', {
client/post-editor/editor-featured-image/index.jsx:99:                  featured_image: '',
client/post-editor/editor-featured-image/index.jsx:102:         stats.recordStat( 'featured_image_removed' );
client/post-editor/editor-featured-image/index.jsx:146:         const featuredImageId = getFeaturedImageId( post );
client/post-editor/editor-featured-image/index.jsx:147:         const classes = classnames( 'editor-featured-image', {
client/post-editor/editor-featured-image/index.jsx:154:                         { site && featuredImageId && isNumber( featuredImageId ) ? (
client/post-editor/editor-featured-image/index.jsx:155:                                 <QueryMedia siteId={ site.ID } mediaId={ featuredImageId } />
client/post-editor/editor-featured-image/index.jsx:158:                         <div className="editor-featured-image__inner-content">
client/post-editor/editor-featured-image/index.jsx:160:                                         className="editor-featured-image__current-image"
client/post-editor/editor-featured-image/index.jsx:164:                                         data-tip-target="editor-featured-image-current-image"
client/post-editor/editor-featured-image/index.jsx:167:                                         <Gridicon icon="pencil" className="editor-featured-image__edit-icon" />
client/post-editor/editor-featured-image/index.jsx:169:                                 { featuredImageId && <RemoveButton onRemove={ EditorFeaturedImage.removeImage } /> }
client/post-editor/editor-featured-image/index.jsx:182:         const featuredImageId = getFeaturedImageId( post );
client/post-editor/editor-featured-image/index.jsx:185:                 featuredImage: getMediaItem( state, siteId, featuredImageId ),
client/post-editor/editor-featured-image/index.jsx:186:                 isDropZoneVisible: isDropZoneVisible( state, 'featuredImage' ),
client/lib/posts/test/utils.js:205:             test( 'should return a non-URL featured_image property', () => {
client/lib/posts/test/utils.js:207:                             featured_image: 'media-1',
client/lib/posts/test/utils.js:208:                             post_thumbnail: {
client/lib/posts/test/utils.js:216:             test( 'should return a `null` featured_image property', () => {
client/lib/posts/test/utils.js:217:                     // This describes the behavior of unassigning a featured image
client/lib/posts/test/utils.js:220:                             featured_image: null,
client/lib/posts/test/utils.js:221:                             post_thumbnail: {
client/lib/posts/test/utils.js:229:             test( 'should fall back to post thumbnail object ID if exists, if featured_image is URL', () => {
client/lib/posts/test/utils.js:231:                             featured_image: 'https://example.com/image.png',
client/lib/posts/test/utils.js:232:                             post_thumbnail: {
client/lib/posts/test/utils.js:240:             test( "should return undefined if featured_image is URL and post thumbnail object doesn't exist", () => {
client/lib/posts/test/utils.js:242:                             featured_image: 'https://example.com/image.png',
client/lib/posts/post-edit-store.js:139:        // on a new post when only the featured image is added then removed.
client/lib/posts/post-edit-store.js:141:        if ( updatedPost.featured_image === '' && ! _savedPost.featured_image && _post.featured_image ) {
client/lib/posts/post-edit-store.js:142:                updatedPost = omit( updatedPost, 'featured_image' );
client/lib/posts/utils.js:212: * Returns the ID of the featured image assigned to the specified post, or
client/lib/posts/utils.js:215: * retrieving a post, the thumbnail ID is assigned in `post_thumbnail`, but
client/lib/posts/utils.js:216: * in creating a post, the thumbnail ID is assigned to `featured_image`.
client/lib/posts/utils.js:219: * @returns {*} featured image id or undefined
client/lib/posts/utils.js:226:  if ( 'featured_image' in post && ! /^https?:\/\//.test( post.featured_image ) ) {
client/lib/posts/utils.js:227:          // Return the `featured_image` property if it does not appear to be
client/lib/posts/utils.js:229:          return post.featured_image;
client/lib/posts/utils.js:232:  if ( post.post_thumbnail ) {
client/lib/posts/utils.js:234:          // from the thumbnail object if one exists
client/lib/posts/utils.js:235:          return post.post_thumbnail.ID;
client/state/ui/editor/video-editor/test/actions.js:36:                 const poster = 'https://i1.wp.com/videos.files.wordpress.com/dummy-guid/thumbnail.jpg?ssl=1';
client/state/ui/editor/video-editor/test/reducer.js:24:         const posterUrl = 'https://i1.wp.com/videos.files.wordpress.com/guid/thumbnail.jpg?ssl=1';
client/state/data-layer/wpcom/sites/simple-payments/index.js:76:                featuredImageId: getFeaturedImageId( customPost ),
client/state/data-layer/wpcom/sites/simple-payments/index.js:139:               featured_image: product.featuredImageId || '',
client/state/data-layer/wpcom/sites/simple-payments/test/index.js:20:                   featured_image: 2,
client/state/data-layer/wpcom/sites/simple-payments/test/index.js:33:                   featuredImageId: 2,
client/state/data-layer/wpcom/sites/simple-payments/test/index.js:50:                   featured_image: 2,
client/state/data-layer/wpcom/sites/simple-payments/test/index.js:69:                   featuredImageId: 2,
client/state/data-layer/wpcom/sites/simple-payments/test/index.js:79:                   featured_image: 2,
client/state/jetpack/settings/test/utils.js:257:                                wp_mobile_featured_images: true,
client/state/jetpack/settings/test/utils.js:304:                                wp_mobile_featured_images: true,
client/state/jetpack/settings/test/utils.js:345:                                wp_mobile_featured_images: true,
client/state/jetpack/settings/test/utils.js:398:                                wp_mobile_featured_images: true,
client/state/jetpack/settings/test/fixture/index.js:8:          wp_mobile_featured_images: true,
client/state/jetpack/settings/utils.js:97:              minileven: [ 'wp_mobile_excerpt', 'wp_mobile_featured_images', 'wp_mobile_app_promos' ],
client/state/posts/test/selectors.js:134:                               post_thumbnail: {
client/state/posts/test/utils.js:150:                           post_thumbnail: {
client/state/themes/test/actions.js:647:                                'featured-images',
client/state/themes/test/actions.js:856:                                ' With bright, bold colors, prominent featured images, and support for customer testimonials',
<response clipped><NOTE>Due to the max output limit, only part of the full response has been shown to you.</NOTE>and post is new and has content, but is not dirty', () => {
client/post-editor/editor-publish-button/test/index.jsx:194:                                    isDirty={ false }
client/post-editor/editor-publish-button/test/index.jsx:195:                                    isNew
client/post-editor/editor-publish-button/test/index.jsx:218:            test( 'should return false if not dirty and has no content', () => {
client/post-editor/editor-publish-button/test/index.jsx:223:                                    isDirty={ false }
client/post-editor/editor-publish-button/test/index.jsx:225:                                    isNew
client/post-editor/editor-publish-button/index.jsx:20:import { isEditedPostPrivate, isPrivateEditedPostPasswordValid } from 'state/posts/selectors';
client/post-editor/editor-publish-button/index.jsx:179: const privatePost = isEditedPostPrivate( state, siteId, postId );
client/post-editor/editor-action-bar/index.jsx:28:              isNew: PropTypes.bool,
client/post-editor/editor-action-bar/index.jsx:56:                                              <AsyncLoad require="post-editor/editor-author" isNew={ this.props.isNew } />
client/lib/posts/actions.js:166:                if ( ! PostEditStore.isDirty() ) {
client/lib/posts/actions.js:299:                var post, postHandle, query, changedAttributes, rawContent, mode, isNew;
client/lib/posts/actions.js:333:                isNew = ! post.ID;
client/lib/posts/actions.js:372:                postHandle[ isNew ? 'add' : 'update' ]( query, changedAttributes, function( error, data ) {
client/lib/posts/actions.js:382:                                isNew: isNew,
client/lib/posts/test/post-edit-store.js:68:            assert( PostEditStore.isNew() );
client/lib/posts/test/post-edit-store.js:83:            assert( ! PostEditStore.isNew() );
client/lib/posts/test/post-edit-store.js:210:           assert( PostEditStore.isNew() );
client/lib/posts/test/post-edit-store.js:265:           assert( PostEditStore.isDirty() );
client/lib/posts/test/post-edit-store.js:332:           assert( PostEditStore.isNew() === false );
client/lib/posts/test/post-edit-store.js:364:           assert( ! PostEditStore.isDirty() );
client/lib/posts/test/post-edit-store.js:388:           assert( ! PostEditStore.isDirty() );
client/lib/posts/test/post-edit-store.js:420:                   assert( ! PostEditStore.isDirty() );
client/lib/posts/test/post-edit-store.js:462:   describe( '#isDirty()', () => {
client/lib/posts/test/post-edit-store.js:473:                   assert( ! PostEditStore.isDirty() );
client/lib/posts/test/post-edit-store.js:484:                   assert( ! PostEditStore.isDirty() );
client/lib/posts/test/post-edit-store.js:509:                   assert( PostEditStore.isDirty() );
client/lib/posts/test/post-edit-store.js:803:           test( "should not trigger changes if isDirty() and hadContent() don't change", () => {
client/lib/posts/post-edit-store.js:28: _isNew = false,
client/lib/posts/post-edit-store.js:44: _isNew = false;
client/lib/posts/post-edit-store.js:93: _isNew = false;
client/lib/posts/post-edit-store.js:115:        _isNew = true;
client/lib/posts/post-edit-store.js:138:        // This prevents an unsaved changes dialogue from appearing
client/lib/posts/post-edit-store.js:169:        var isDirty, hasContent;
client/lib/posts/post-edit-store.js:177:                isDirty = PostEditStore.isDirty();
client/lib/posts/post-edit-store.js:183:                if ( PostEditStore.isDirty() !== isDirty || PostEditStore.hasContent() !== hasContent ) {
client/lib/posts/post-edit-store.js:330:                if ( this.isNew() ) {
client/lib/posts/post-edit-store.js:334:                if ( ! this.isDirty() ) {
client/lib/posts/post-edit-store.js:352:                // when toggling editor modes, it is possible for the post to be dirty
client/lib/posts/post-edit-store.js:366:        isDirty: function() {
client/lib/posts/post-edit-store.js:370:        isNew: function() {
client/lib/posts/post-edit-store.js:371:                return _isNew;
client/state/ui/editor/test/selectors.js:36:                    const isNew = isEditorNewPost( {
client/state/ui/editor/test/selectors.js:44:                    expect( isNew ).to.be.false;
client/state/ui/editor/test/selectors.js:48:                    const isNew = isEditorNewPost( {
client/state/ui/editor/test/selectors.js:56:                    expect( isNew ).to.be.true;
client/state/ui/guided-tours/contexts.js:72:export const isNewUser = state => {
client/state/ui/guided-tours/contexts.js:83:    return ! isNewUser( state );
client/state/ui/guided-tours/test/fixtures/config.js:15:import { isNewUser, inSection } from 'state/ui/guided-tours/contexts';
client/state/ui/guided-tours/test/fixtures/config.js:18:        <Tour name="main" version="test" path="/" when={ isNewUser }>
client/state/data-layer/wpcom/me/settings/index.js:82: * clear the unsaved settings list, and re-fetch info about the user.
client/state/data-layer/wpcom/me/settings/test/index.js:83:                     test( 'should dispatch POST request to me/settings using unsavedSettings from state', () => {
client/state/data-layer/wpcom/me/settings/test/index.js:87:                                             unsavedSettings: { foo: 'baz' },
client/state/data-layer/wpcom/me/settings/test/index.js:131:                    test( 'should not dispatch any HTTP request when there are no unsaved settings', () => {
client/state/data-layer/wpcom/me/settings/test/index.js:135:                                            unsavedSettings: {},
client/state/data-layer/wpcom/me/settings/test/index.js:147:                    test( 'should dispatch user settings update and clear all unsaved settings on full save', () => {
client/state/data-layer/wpcom/me/settings/test/index.js:163:                    test( 'should dispatch user settings update and clear only one unsaved setting on partial save', () => {
client/state/sites/selectors.js:1116:export function isNewSite( state, siteId ) {
client/state/posts/test/selectors.js:27:        isEditedPostPrivate,
client/state/posts/test/selectors.js:33:        isEditedPostDirty,
client/state/posts/test/selectors.js:1377:      describe( 'isEditedPostPrivate()', () => {
client/state/posts/test/selectors.js:1379:                      const privatePost = isEditedPostPrivate(
client/state/posts/test/selectors.js:1402:                      const privatePost = isEditedPostPrivate(
client/state/posts/test/selectors.js:1437:                      const privatePost = isEditedPostPrivate(
client/state/posts/test/selectors.js:1472:                      const privatePost = isEditedPostPrivate(
client/state/posts/test/selectors.js:1623:      describe( 'isEditedPostDirty()', () => {
client/state/posts/test/selectors.js:1625:                      isEditedPostDirty.memoizedSelector.cache.clear();
client/state/posts/test/selectors.js:1629:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1650:                      expect( isDirty ).to.be.false;
client/state/posts/test/selectors.js:1654:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1682:                      expect( isDirty ).to.be.false;
client/state/posts/test/selectors.js:1686:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1702:                      expect( isDirty ).to.be.false;
client/state/posts/test/selectors.js:1706:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1722:                      expect( isDirty ).to.be.false;
client/state/posts/test/selectors.js:1726:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1742:                      expect( isDirty ).to.be.true;
client/state/posts/test/selectors.js:1746:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1762:                      expect( isDirty ).to.be.true;
client/state/posts/test/selectors.js:1766:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1794:                      expect( isDirty ).to.be.false;
client/state/posts/test/selectors.js:1798:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1826:                      expect( isDirty ).to.be.true;
client/state/posts/test/selectors.js:1830:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1857:                      expect( isDirty ).to.be.true;
client/state/posts/test/selectors.js:1861:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1891:                      expect( isDirty ).to.be.false;
client/state/posts/test/selectors.js:1895:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1923:                      expect( isDirty ).to.be.true;
client/state/posts/test/selectors.js:1927:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1955:                      expect( isDirty ).to.be.false;
client/state/posts/test/selectors.js:1959:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:1995:                      expect( isDirty ).to.be.true;
client/state/posts/test/selectors.js:1999:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:2035:                      expect( isDirty ).to.be.false;
client/state/posts/test/selectors.js:2039:                      const isDirty = isEditedPostDirty(
client/state/posts/test/selectors.js:2073:                      expect( isDirty ).to.be.false;
client/state/posts/selectors.js:376:export function isEditedPostPrivate( state, siteId, postId ) {
client/state/posts/selectors.js:395: * Returns true if there are "dirty" edited fields to be saved for the post
client/state/posts/selectors.js:401: * @return {Boolean}        Whether dirty fields exist
client/state/posts/selectors.js:403:export const isEditedPostDirty = createSelector(
client/state/user-settings/test/actions.js:17:          test( 'should store the new value to unsaved settings', () => {
client/state/user-settings/test/actions.js:22:                                  unsavedSettings: {},
client/state/user-settings/test/actions.js:36:          test( 'should remove the value from unsaved settings after it is reset to original value', () => {
client/state/user-settings/test/actions.js:41:                                  unsavedSettings: { foo: 'qix' },
client/state/user-settings/test/actions.js:59:                                  unsavedSettings: {},
client/state/user-settings/test/reducer.js:12:import reducer, { settings, unsavedSettings } from '../reducer';
client/state/user-settings/test/reducer.js:22:          expect( reducer( undefined, {} ) ).to.have.keys( [ 'settings', 'unsavedSettings' ] );
client/state/user-settings/test/reducer.js:60:  describe( 'unsavedSettings', () => {
client/state/user-settings/test/reducer.js:62:                  const state = unsavedSettings( undefined, {} );
client/state/user-settings/test/reducer.js:68:                  const state = unsavedSettings( undefined, {
client/state/user-settings/test/reducer.js:84:                  const state = unsavedSettings( original, {
client/state/user-settings/test/reducer.js:102:                 const state = unsavedSettings( original, {
client/state/user-settings/test/reducer.js:118:                 const state = unsavedSettings( original, {
client/state/user-settings/test/reducer.js:131:                 const state = unsavedSettings( original, {
client/state/user-settings/reducer.js:23:export const unsavedSettings = ( state = {}, action ) => {
client/state/user-settings/reducer.js:27:                       // or a subset) from the `unsavedSettings`.
client/state/user-settings/reducer.js:49:       unsavedSettings,
client/state/selectors/get-user-setting.js:17:  const { settings, unsavedSettings } = state.userSettings;
client/state/selectors/get-user-setting.js:23:          setting = get( unsavedSettings, settingName, originalSetting );
client/state/selectors/has-unsaved-user-settings.js:10: * Check if there are any unsaved settings
client/state/selectors/has-unsaved-user-settings.js:13: * @return {Boolean} are there any unsaved settings?
client/state/selectors/has-unsaved-user-settings.js:16: return ! isEmpty( get( state, 'userSettings.unsavedSettings' ) );
client/state/selectors/test/get-user-setting.js:14:     test( 'should return null if neither server nor local unsaved settings contain the key', () => {
client/state/selectors/test/get-user-setting.js:19:                                     unsavedSettings: {},
client/state/selectors/test/get-user-setting.js:28:     test( 'should prefer an unsaved setting over the server one', () => {
client/state/selectors/test/get-user-setting.js:33:                                     unsavedSettings: { foo: 'unsavedBar' },
client/state/selectors/test/get-user-setting.js:39:             expect( setting ).to.eql( 'unsavedBar' );
client/state/selectors/test/get-user-setting.js:42:     test( 'should ignore an unsaved setting if there is no server value for the same key', () => {
client/state/selectors/test/get-user-setting.js:47:                                     unsavedSettings: { foo: 'unsavedBar' },
client/state/selectors/test/get-user-setting.js:56:     test( 'should return a server value if there is no unsaved one', () => {
client/state/selectors/test/get-user-setting.js:61:                                     unsavedSettings: {},
client/state/selectors/test/get-original-user-setting.js:19:                                    unsavedSettings: {},
client/state/selectors/test/get-original-user-setting.js:28:    test( 'should ignore the unsaved settings and always return the server value', () => {
client/state/selectors/test/get-original-user-setting.js:33:                                    unsavedSettings: { foo: 'unsavedBar' },
client/state/selectors/is-user-setting-unsaved.js:10: * Check if a given settingName has an unsaved value present
client/state/selectors/is-user-setting-unsaved.js:14: * @return {Boolean} is there unsaved value for the setting?
client/state/selectors/is-user-setting-unsaved.js:17:   return has( state, [ 'userSettings', 'unsavedSettings', settingName ] );
client/state/selectors/is-eligible-for-checkout-to-checklist.js:26:     const isNewSite = createdAt && Date.now() - Date.parse( createdAt ) < 30 * 60000; // within 30 mins
client/state/selectors/is-eligible-for-checkout-to-checklist.js:33:             isNewSite &&
client/state/selectors/get-unsaved-user-settings.js:2: * Returns all unsaved user settings as one object
client/state/selectors/get-unsaved-user-settings.js:11: return state.userSettings.unsavedSettings;
[The command completed with exit code 0.]
[Current working directory: /workspace/wp-calypso]
[Python interpreter: /usr/bin/python]
[Command finished with exit code 0]