Example #1
0
        public void DoesDoMixinsExample()
        {
            var host = new Host();
            var source =
            @"@mixin table-base {
              th {
            text-align: center;
            font-weight: bold;
              }
              td, th {padding: 2px}
            }

            @mixin left($dist) {
              float: left;
              margin-left: $dist;
            }

            #data {
              @include left(10px);
              @include table-base;
            }

            ";

            var expected =
            @"#data {
              float: left;
              margin-left: 10px;
            }

            #data th {
              text-align: center;
              font-weight: bold;
            }

            #data td,
            #data th {
              padding: 2px;
            }

            ";
            var result = host.Execute(source, null);
            Assert.AreEqual(expected, result);
        }
Example #2
0
        public void DoesDoInheritanceExample()
        {
            var host = new Host();
            var source =
            @".error {
              border: 1px #f00;
              background: #fdd;
            }
            .error.intrusion {
              font-size: 1.3em;
              font-weight: bold;
            }

            .badError {
              @extend .error;
              border-width: 3px;
            }
            ";

            var expected =
            @".error,
            .badError {
              border: 1px #f00;
              background: #fdd;
            }

            .error.intrusion,
            .badError.intrusion {
              font-size: 1.3em;
              font-weight: bold;
            }

            .badError {
              border-width: 3px;
            }

            ";
            var result = host.Execute(source, null);
            Assert.AreEqual(expected, result);
        }
Example #3
0
        public void DoesDoVariableExample()
        {
            var host = new Host();
            var source =
            @"$blue: #3bbfce;
            $margin: 16px;

            .content-navigation {
              border-color: $blue;
              color:
            darken($blue, 9%);
            }

            .border {
              padding: $margin / 2;
              margin: $margin / 2;
              border-color: $blue;
            }
            ";
            var expected =
            @".content-navigation {
              border-color: #3bbfce;
              color: #2b9eab;
            }

            .border {
              padding: 8px;
              margin: 8px;
              border-color: #3bbfce;
            }

            ";
            var result = host.Execute(source,
                (string name, Parameters parameters, out Node node) =>
                {
                    node = new Colour(parameters.Parent) { Text = "#2b9eab" };
                    return true;
                });

            Assert.AreEqual(expected, result);
        }
Example #4
0
        public void DoesDoNestingExample()
        {
            var host = new Host();
            var source =
            @"table.hl {
              margin: 2em 0;
              td.ln {
            text-align: right;
              }
            }

            li {
              font: {
            family: serif;
            weight: bold;
            size: 1.2em;
              }
            }

            ";
            var expected =
            @"table.hl {
              margin: 2em 0;
            }

            table.hl td.ln {
              text-align: right;
            }

            li {
              font-family: serif;
              font-weight: bold;
              font-size: 1.2em;
            }

            ";
            var result = host.Execute(source, null);
            Assert.AreEqual(expected, result);
        }