From d698ec0ebd494a9e3948544d95ae653c61db61bf Mon Sep 17 00:00:00 2001
From: Clement Ho <ClemMakesApps@gmail.com>
Date: Mon, 24 Oct 2016 15:58:50 -0500
Subject: [PATCH] Enable PseudoElement in scss-lint

---
 .scss-lint.yml                                   |  2 +-
 app/assets/stylesheets/framework/dropdowns.scss  |  8 ++++----
 app/assets/stylesheets/framework/lists.scss      |  2 +-
 app/assets/stylesheets/framework/timeline.scss   |  2 +-
 app/assets/stylesheets/framework/typography.scss | 10 +++++-----
 app/assets/stylesheets/pages/diff.scss           |  6 +++---
 app/assets/stylesheets/pages/pipelines.scss      |  8 ++++----
 app/assets/stylesheets/pages/profile.scss        |  4 ++--
 app/assets/stylesheets/pages/projects.scss       |  8 ++++----
 app/assets/stylesheets/pages/search.scss         |  2 +-
 app/assets/stylesheets/pages/ui_dev_kit.scss     |  2 +-
 app/assets/stylesheets/print.scss                |  2 +-
 12 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/.scss-lint.yml b/.scss-lint.yml
index 5c8e5ac0758..aae8d9b6dbe 100644
--- a/.scss-lint.yml
+++ b/.scss-lint.yml
@@ -143,7 +143,7 @@ linters:
   # with two colons. Pseudo-classes, like :hover and :first-child, should
   # be declared with one colon.
   PseudoElement:
-    enabled: false
+    enabled: true
   
   # Avoid qualifying elements in selectors (also known as "tag-qualifying").
   QualifyingElement:
diff --git a/app/assets/stylesheets/framework/dropdowns.scss b/app/assets/stylesheets/framework/dropdowns.scss
index 1de246600fd..7b2afea51be 100644
--- a/app/assets/stylesheets/framework/dropdowns.scss
+++ b/app/assets/stylesheets/framework/dropdowns.scss
@@ -485,7 +485,7 @@
         font-size: 20px;
         text-indent: 0;
 
-        &:before {
+        &::before {
           display: block;
           position: relative;
           top: -2px;
@@ -517,7 +517,7 @@
         background-color: transparent;
         border: 0;
 
-        .ui-icon:before {
+        .ui-icon::before {
           color: $md-link-color;
         }
       }
@@ -526,7 +526,7 @@
     .ui-datepicker-prev {
       left: 0;
 
-      .ui-icon:before {
+      .ui-icon::before {
         content: '\f104';
         text-align: left;
       }
@@ -535,7 +535,7 @@
     .ui-datepicker-next {
       right: 0;
 
-      .ui-icon:before {
+      .ui-icon::before {
         content: '\f105';
         text-align: right;
       }
diff --git a/app/assets/stylesheets/framework/lists.scss b/app/assets/stylesheets/framework/lists.scss
index 48e34a0066e..76de3abe808 100644
--- a/app/assets/stylesheets/framework/lists.scss
+++ b/app/assets/stylesheets/framework/lists.scss
@@ -14,7 +14,7 @@
     border-bottom: 1px solid #eee;
     border-bottom: 1px solid rgba(0, 0, 0, 0.05);
 
-    &:after {
+    &::after {
       content: " ";
       display: table;
       clear: both;
diff --git a/app/assets/stylesheets/framework/timeline.scss b/app/assets/stylesheets/framework/timeline.scss
index eb63a9f214b..875cded8b4e 100644
--- a/app/assets/stylesheets/framework/timeline.scss
+++ b/app/assets/stylesheets/framework/timeline.scss
@@ -45,7 +45,7 @@
 
 @media (max-width: $screen-xs-max) {
   .timeline {
-    &:before {
+    &::before {
       background: none;
     }
 
diff --git a/app/assets/stylesheets/framework/typography.scss b/app/assets/stylesheets/framework/typography.scss
index 266a8024809..070e42d63d2 100644
--- a/app/assets/stylesheets/framework/typography.scss
+++ b/app/assets/stylesheets/framework/typography.scss
@@ -148,7 +148,7 @@
 
   a[href*="/uploads/"],
   a[href*="storage.googleapis.com/google-code-attachments/"] {
-    &:before {
+    &::before {
       margin-right: 4px;
 
       font: normal normal normal 14px/1 FontAwesome;
@@ -158,13 +158,13 @@
       content: "\f0c6";
     }
 
-    &:hover:before {
+    &:hover::before {
       text-decoration: none;
     }
   }
 
   a.no-attachment-icon {
-    &:before {
+    &::before {
       display: none;
     }
   }
@@ -183,13 +183,13 @@
       position: absolute;
       text-decoration: none;
 
-      &:after {
+      &::after {
         content: image-url('icon_anchor.svg');
         visibility: hidden;
       }
     }
 
-    &:hover > a.anchor:after {
+    &:hover > a.anchor::after {
       visibility: visible;
     }
   }
diff --git a/app/assets/stylesheets/pages/diff.scss b/app/assets/stylesheets/pages/diff.scss
index e0367d1d942..fde138c874d 100644
--- a/app/assets/stylesheets/pages/diff.scss
+++ b/app/assets/stylesheets/pages/diff.scss
@@ -94,14 +94,14 @@
           position: relative;
 
           &.old {
-            &:before {
+            &::before {
               content: '-';
               position: absolute;
             }
           }
 
           &.new {
-            &:before {
+            &::before {
               content: '+';
               position: absolute;
             }
@@ -471,7 +471,7 @@
 .file-holder {
   .diff-line-num:not(.js-unfold-bottom) {
     a {
-      &:before {
+      &::before {
         content: attr(data-linenumber);
       }
     }
diff --git a/app/assets/stylesheets/pages/pipelines.scss b/app/assets/stylesheets/pages/pipelines.scss
index f88175365c6..3c60db40ffe 100644
--- a/app/assets/stylesheets/pages/pipelines.scss
+++ b/app/assets/stylesheets/pages/pipelines.scss
@@ -474,8 +474,8 @@
         }
 
         .arrow {
-          &:before,
-          &:after {
+          &::before,
+          &::after {
             content: '';
             display: inline-block;
             position: absolute;
@@ -486,14 +486,14 @@
             top: 18px;
           }
 
-          &:before {
+          &::before {
             left: -5px;
             margin-top: -6px;
             border-width: 7px 5px 7px 0;
             border-right-color: $border-color;
           }
 
-          &:after {
+          &::after {
             left: -4px;
             margin-top: -9px;
             border-width: 10px 7px 10px 0;
diff --git a/app/assets/stylesheets/pages/profile.scss b/app/assets/stylesheets/pages/profile.scss
index 3f6fdaebc1d..ede29db1979 100644
--- a/app/assets/stylesheets/pages/profile.scss
+++ b/app/assets/stylesheets/pages/profile.scss
@@ -77,14 +77,14 @@
 
 // Middle dot divider between each element in a list of items.
 .middle-dot-divider {
-  &:after {
+  &::after {
     content: "\00B7"; // Middle Dot
     padding: 0 6px;
     font-weight: bold;
   }
 
   &:last-child {
-    &:after {
+    &::after {
       content: "";
       padding: 0;
     }
diff --git a/app/assets/stylesheets/pages/projects.scss b/app/assets/stylesheets/pages/projects.scss
index f6355941837..f0d39b353d2 100644
--- a/app/assets/stylesheets/pages/projects.scss
+++ b/app/assets/stylesheets/pages/projects.scss
@@ -193,7 +193,7 @@
     margin-left: 4px;
 
     .arrow {
-      &:before {
+      &::before {
         content: '';
         display: inline-block;
         position: absolute;
@@ -209,7 +209,7 @@
         pointer-events: none;
       }
 
-      &:after {
+      &::after {
         content: '';
         position: absolute;
         width: 0;
@@ -351,7 +351,7 @@ a.deploy-project-label {
   line-height: 36px;
   margin: 0;
 
-  > li + li:before {
+  > li + li::before {
     padding: 0 3px;
     color: #999;
   }
@@ -790,7 +790,7 @@ pre.light-well {
     top: 7px;
     color: $location-icon-color;
 
-    &:before {
+    &::before {
       font-family: FontAwesome;
       font-weight: normal;
       font-style: normal;
diff --git a/app/assets/stylesheets/pages/search.scss b/app/assets/stylesheets/pages/search.scss
index 6d472e8293f..bf688af50e2 100644
--- a/app/assets/stylesheets/pages/search.scss
+++ b/app/assets/stylesheets/pages/search.scss
@@ -72,7 +72,7 @@
       top: 0;
       color: $location-icon-color;
 
-      &:before {
+      &::before {
         font-family: FontAwesome;
         font-weight: normal;
         font-style: normal;
diff --git a/app/assets/stylesheets/pages/ui_dev_kit.scss b/app/assets/stylesheets/pages/ui_dev_kit.scss
index 587bd6a1e8a..e73cecc92be 100644
--- a/app/assets/stylesheets/pages/ui_dev_kit.scss
+++ b/app/assets/stylesheets/pages/ui_dev_kit.scss
@@ -5,7 +5,7 @@
   }
 
   .example {
-    &:before {
+    &::before {
       content: "Example";
       color: #bbb;
     }
diff --git a/app/assets/stylesheets/print.scss b/app/assets/stylesheets/print.scss
index 8239b7e6879..0ff3c3f5472 100644
--- a/app/assets/stylesheets/print.scss
+++ b/app/assets/stylesheets/print.scss
@@ -35,7 +35,7 @@ nav.navbar-collapse.collapse,
 .nav,
 .btn,
 ul.notes-form,
-.merge-request-ci-status .ci-status-link:after,
+.merge-request-ci-status .ci-status-link::after,
 .issuable-gutter-toggle,
 .gutter-toggle,
 .issuable-details .content-block-small,
-- 
GitLab