sass 3.2.0.alpha.99 → 3.2.0.alpha.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. data/REVISION +1 -1
  2. data/VERSION +1 -1
  3. data/test/sass/extend_test.rb +129 -797
  4. metadata +4 -4
data/REVISION CHANGED
@@ -1 +1 @@
1
- 052db34a7f6d34fa0ed364f6c38923dedcd95cd6
1
+ 99eaa02f1de89ce2baff36ee7c5d18fbf276ea93
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.0.alpha.99
1
+ 3.2.0.alpha.100
@@ -93,21 +93,9 @@ SCSS
93
93
  end
94
94
 
95
95
  def test_multiple_extends_with_single_extender_and_single_target
96
- assert_equal <<CSS, render(<<SCSS)
97
- .foo .bar, .baz .bar, .foo .baz, .baz .baz {
98
- a: b; }
99
- CSS
100
- .foo .bar {a: b}
101
- .baz {@extend .foo; @extend .bar}
102
- SCSS
103
-
104
- assert_equal <<CSS, render(<<SCSS)
105
- .foo.bar, .baz {
106
- a: b; }
107
- CSS
108
- .foo.bar {a: b}
109
- .baz {@extend .foo; @extend .bar}
110
- SCSS
96
+ assert_extends('.foo .bar', '.baz {@extend .foo; @extend .bar}',
97
+ '.foo .bar, .baz .bar, .foo .baz, .baz .baz')
98
+ assert_extends '.foo.bar', '.baz {@extend .foo; @extend .bar}', '.foo.bar, .baz'
111
99
  end
112
100
 
113
101
  def test_multiple_extends_with_multiple_extenders_and_single_target
@@ -143,41 +131,17 @@ SCSS
143
131
  end
144
132
 
145
133
  def test_dynamic_extendee
146
- assert_equal <<CSS, render(<<SCSS)
147
- .foo, .bar {
148
- a: b; }
149
- CSS
150
- .foo {a: b}
151
- .bar {@extend \#{".foo"}}
152
- SCSS
153
-
154
- assert_equal <<CSS, render(<<SCSS)
155
- [baz^="blip12px"], .bar {
156
- a: b; }
157
- CSS
158
- [baz^="blip12px"] {a: b}
159
- .bar {@extend [baz^="blip\#{12px}"]}
160
- SCSS
134
+ assert_extends '.foo', '.bar {@extend #{".foo"}}', '.foo, .bar'
135
+ assert_extends('[baz^="blip12px"]', '.bar {@extend [baz^="blip#{12px}"]}',
136
+ '[baz^="blip12px"], .bar')
161
137
  end
162
138
 
163
139
  def test_nested_target
164
- assert_equal <<CSS, render(<<SCSS)
165
- .foo .bar, .foo .baz {
166
- a: b; }
167
- CSS
168
- .foo .bar {a: b}
169
- .baz {@extend .bar}
170
- SCSS
140
+ assert_extends '.foo .bar', '.baz {@extend .bar}', '.foo .bar, .foo .baz'
171
141
  end
172
142
 
173
143
  def test_target_with_child
174
- assert_equal <<CSS, render(<<SCSS)
175
- .foo .bar, .baz .bar {
176
- a: b; }
177
- CSS
178
- .foo .bar {a: b}
179
- .baz {@extend .foo}
180
- SCSS
144
+ assert_extends '.foo .bar', '.baz {@extend .foo}', '.foo .bar, .baz .bar'
181
145
  end
182
146
 
183
147
  def test_class_unification
@@ -293,85 +257,27 @@ SCSS
293
257
  end
294
258
 
295
259
  def test_pseudoelement_remains_at_end_of_selector
296
- assert_equal <<CSS, render(<<SCSS)
297
- .foo::bar, .baz::bar {
298
- a: b; }
299
- CSS
300
- .foo::bar {a: b}
301
- .baz {@extend .foo}
302
- SCSS
303
-
304
- assert_equal <<CSS, render(<<SCSS)
305
- a.foo::bar, a.baz::bar {
306
- a: b; }
307
- CSS
308
- a.foo::bar {a: b}
309
- .baz {@extend .foo}
310
- SCSS
260
+ assert_extends '.foo::bar', '.baz {@extend .foo}', '.foo::bar, .baz::bar'
261
+ assert_extends 'a.foo::bar', '.baz {@extend .foo}', 'a.foo::bar, a.baz::bar'
311
262
  end
312
263
 
313
264
  def test_pseudoclass_remains_at_end_of_selector
314
- assert_equal <<CSS, render(<<SCSS)
315
- .foo:bar, .baz:bar {
316
- a: b; }
317
- CSS
318
- .foo:bar {a: b}
319
- .baz {@extend .foo}
320
- SCSS
321
-
322
- assert_equal <<CSS, render(<<SCSS)
323
- a.foo:bar, a.baz:bar {
324
- a: b; }
325
- CSS
326
- a.foo:bar {a: b}
327
- .baz {@extend .foo}
328
- SCSS
265
+ assert_extends '.foo:bar', '.baz {@extend .foo}', '.foo:bar, .baz:bar'
266
+ assert_extends 'a.foo:bar', '.baz {@extend .foo}', 'a.foo:bar, a.baz:bar'
329
267
  end
330
268
 
331
269
  def test_not_remains_at_end_of_selector
332
- assert_equal <<CSS, render(<<SCSS)
333
- .foo:not(.bar), .baz:not(.bar) {
334
- a: b; }
335
- CSS
336
- .foo:not(.bar) {a: b}
337
- .baz {@extend .foo}
338
- SCSS
270
+ assert_extends '.foo:not(.bar)', '.baz {@extend .foo}', '.foo:not(.bar), .baz:not(.bar)'
339
271
  end
340
272
 
341
273
  def test_pseudoelement_goes_lefter_than_pseudoclass
342
- assert_equal <<CSS, render(<<SCSS)
343
- .foo::bar, .baz:bang::bar {
344
- a: b; }
345
- CSS
346
- .foo::bar {a: b}
347
- .baz:bang {@extend .foo}
348
- SCSS
349
-
350
- assert_equal <<CSS, render(<<SCSS)
351
- .foo:bar, .baz:bar::bang {
352
- a: b; }
353
- CSS
354
- .foo:bar {a: b}
355
- .baz::bang {@extend .foo}
356
- SCSS
274
+ assert_extends '.foo::bar', '.baz:bang {@extend .foo}', '.foo::bar, .baz:bang::bar'
275
+ assert_extends '.foo:bar', '.baz::bang {@extend .foo}', '.foo:bar, .baz:bar::bang'
357
276
  end
358
277
 
359
278
  def test_pseudoelement_goes_lefter_than_not
360
- assert_equal <<CSS, render(<<SCSS)
361
- .foo::bar, .baz:not(.bang)::bar {
362
- a: b; }
363
- CSS
364
- .foo::bar {a: b}
365
- .baz:not(.bang) {@extend .foo}
366
- SCSS
367
-
368
- assert_equal <<CSS, render(<<SCSS)
369
- .foo:not(.bang), .baz:not(.bang)::bar {
370
- a: b; }
371
- CSS
372
- .foo:not(.bang) {a: b}
373
- .baz::bar {@extend .foo}
374
- SCSS
279
+ assert_extends '.foo::bar', '.baz:not(.bang) {@extend .foo}', '.foo::bar, .baz:not(.bang)::bar'
280
+ assert_extends '.foo:not(.bang)', '.baz::bar {@extend .foo}', '.foo:not(.bang), .baz:not(.bang)::bar'
375
281
  end
376
282
 
377
283
  def test_negation_unification
@@ -408,293 +314,115 @@ SCSS
408
314
  ## Long Extendees
409
315
 
410
316
  def test_long_extendee
411
- assert_equal <<CSS, render(<<SCSS)
412
- .foo.bar, .baz {
413
- a: b; }
414
- CSS
415
- .foo.bar {a: b}
416
- .baz {@extend .foo.bar}
417
- SCSS
317
+ assert_extends '.foo.bar', '.baz {@extend .foo.bar}', '.foo.bar, .baz'
418
318
  end
419
319
 
420
320
  def test_long_extendee_requires_all_selectors
421
- assert_equal <<CSS, render(<<SCSS)
422
- .foo {
423
- a: b; }
424
- CSS
425
- .foo {a: b}
426
- .baz {@extend .foo.bar}
427
- SCSS
321
+ assert_extends '.foo', '.baz {@extend .foo.bar}', '.foo'
428
322
  end
429
323
 
430
324
  def test_long_extendee_matches_supersets
431
- assert_equal <<CSS, render(<<SCSS)
432
- .foo.bar.bap, .bap.baz {
433
- a: b; }
434
- CSS
435
- .foo.bar.bap {a: b}
436
- .baz {@extend .foo.bar}
437
- SCSS
325
+ assert_extends '.foo.bar.bap', '.baz {@extend .foo.bar}', '.foo.bar.bap, .bap.baz'
438
326
  end
439
327
 
440
328
  def test_long_extendee_runs_unification
441
- assert_equal <<CSS, render(<<SCSS)
442
- ns|*.foo.bar, ns|a.baz {
443
- a: b; }
444
- CSS
445
- ns|*.foo.bar {a: b}
446
- a.baz {@extend .foo.bar}
447
- SCSS
329
+ assert_extends 'ns|*.foo.bar', 'a.baz {@extend .foo.bar}', 'ns|*.foo.bar, ns|a.baz'
448
330
  end
449
331
 
450
332
  ## Long Extenders
451
333
 
452
334
  def test_long_extender
453
- assert_equal <<CSS, render(<<SCSS)
454
- .foo.bar, .bar.baz.bang {
455
- a: b; }
456
- CSS
457
- .foo.bar {a: b}
458
- .baz.bang {@extend .foo}
459
- SCSS
335
+ assert_extends '.foo.bar', '.baz.bang {@extend .foo}', '.foo.bar, .bar.baz.bang'
460
336
  end
461
337
 
462
338
  def test_long_extender_runs_unification
463
- assert_equal <<CSS, render(<<SCSS)
464
- ns|*.foo.bar, ns|a.bar.baz {
465
- a: b; }
466
- CSS
467
- ns|*.foo.bar {a: b}
468
- a.baz {@extend .foo}
469
- SCSS
339
+ assert_extends 'ns|*.foo.bar', 'a.baz {@extend .foo}', 'ns|*.foo.bar, ns|a.bar.baz'
470
340
  end
471
341
 
472
342
  def test_long_extender_aborts_unification
473
- assert_equal <<CSS, render(<<SCSS)
474
- a.foo#bar {
475
- a: b; }
476
- CSS
477
- a.foo#bar {a: b}
478
- h1.baz {@extend .foo}
479
- SCSS
480
-
481
- assert_equal <<CSS, render(<<SCSS)
482
- a.foo#bar {
483
- a: b; }
484
- CSS
485
- a.foo#bar {a: b}
486
- .bang#baz {@extend .foo}
487
- SCSS
343
+ assert_extends 'a.foo#bar', 'h1.baz {@extend .foo}', 'a.foo#bar'
344
+ assert_extends 'a.foo#bar', '.bang#baz {@extend .foo}', 'a.foo#bar'
488
345
  end
489
346
 
490
347
  ## Nested Extenders
491
348
 
492
349
  def test_nested_extender
493
- assert_equal <<CSS, render(<<SCSS)
494
- .foo, foo bar {
495
- a: b; }
496
- CSS
497
- .foo {a: b}
498
- foo bar {@extend .foo}
499
- SCSS
350
+ assert_extends '.foo', 'foo bar {@extend .foo}', '.foo, foo bar'
500
351
  end
501
352
 
502
353
  def test_nested_extender_runs_unification
503
- assert_equal <<CSS, render(<<SCSS)
504
- .foo.bar, foo bar.bar {
505
- a: b; }
506
- CSS
507
- .foo.bar {a: b}
508
- foo bar {@extend .foo}
509
- SCSS
354
+ assert_extends '.foo.bar', 'foo bar {@extend .foo}', '.foo.bar, foo bar.bar'
510
355
  end
511
356
 
512
357
  def test_nested_extender_aborts_unification
513
- assert_equal <<CSS, render(<<SCSS)
514
- baz.foo {
515
- a: b; }
516
- CSS
517
- baz.foo {a: b}
518
- foo bar {@extend .foo}
519
- SCSS
358
+ assert_extends 'baz.foo', 'foo bar {@extend .foo}', 'baz.foo'
520
359
  end
521
360
 
522
361
  def test_nested_extender_alternates_parents
523
- assert_equal <<CSS, render(<<SCSS)
524
- .baz .bip .foo, .baz .bip foo .grank bar, foo .grank .baz .bip bar {
525
- a: b; }
526
- CSS
527
- .baz .bip .foo {a: b}
528
- foo .grank bar {@extend .foo}
529
- SCSS
362
+ assert_extends('.baz .bip .foo', 'foo .grank bar {@extend .foo}',
363
+ '.baz .bip .foo, .baz .bip foo .grank bar, foo .grank .baz .bip bar')
530
364
  end
531
365
 
532
366
  def test_nested_extender_unifies_identical_parents
533
- assert_equal <<CSS, render(<<SCSS)
534
- .baz .bip .foo, .baz .bip bar {
535
- a: b; }
536
- CSS
537
- .baz .bip .foo {a: b}
538
- .baz .bip bar {@extend .foo}
539
- SCSS
367
+ assert_extends('.baz .bip .foo', '.baz .bip bar {@extend .foo}',
368
+ '.baz .bip .foo, .baz .bip bar')
540
369
  end
541
370
 
542
371
  def test_nested_extender_unifies_common_substring
543
- assert_equal <<CSS, render(<<SCSS)
544
- .baz .bip .bap .bink .foo, .baz .brat .bip .bap .bink bar, .brat .baz .bip .bap .bink bar {
545
- a: b; }
546
- CSS
547
- .baz .bip .bap .bink .foo {a: b}
548
- .brat .bip .bap bar {@extend .foo}
549
- SCSS
372
+ assert_extends('.baz .bip .bap .bink .foo', '.brat .bip .bap bar {@extend .foo}',
373
+ '.baz .bip .bap .bink .foo, .baz .brat .bip .bap .bink bar, .brat .baz .bip .bap .bink bar')
550
374
  end
551
375
 
552
376
  def test_nested_extender_unifies_common_subseq
553
- assert_equal <<CSS, render(<<SCSS)
554
- .a .x .b .y .foo, .a .x .n .b .y .m bar, .a .n .x .b .y .m bar, .a .x .n .b .m .y bar, .a .n .x .b .m .y bar {
555
- a: b; }
556
- CSS
557
- .a .x .b .y .foo {a: b}
558
- .a .n .b .m bar {@extend .foo}
559
- SCSS
377
+ assert_extends('.a .x .b .y .foo', '.a .n .b .m bar {@extend .foo}',
378
+ '.a .x .b .y .foo, .a .x .n .b .y .m bar, .a .n .x .b .y .m bar, .a .x .n .b .m .y bar, .a .n .x .b .m .y bar')
560
379
  end
561
380
 
562
381
  def test_nested_extender_chooses_first_subseq
563
- assert_equal <<CSS, render(<<SCSS)
564
- .a .b .c .d .foo, .a .b .c .d .a .b .bar {
565
- a: b; }
566
- CSS
567
- .a .b .c .d .foo {a: b}
568
- .c .d .a .b .bar {@extend .foo}
569
- SCSS
382
+ assert_extends('.a .b .c .d .foo', '.c .d .a .b .bar {@extend .foo}',
383
+ '.a .b .c .d .foo, .a .b .c .d .a .b .bar')
570
384
  end
571
385
 
572
386
  def test_nested_extender_counts_extended_subselectors
573
- assert_equal <<CSS, render(<<SCSS)
574
- .a .bip.bop .foo, .a .b .bip.bop .bar, .b .a .bip.bop .bar {
575
- a: b; }
576
- CSS
577
- .a .bip.bop .foo {a: b}
578
- .b .bip .bar {@extend .foo}
579
- SCSS
387
+ assert_extends('.a .bip.bop .foo', '.b .bip .bar {@extend .foo}',
388
+ '.a .bip.bop .foo, .a .b .bip.bop .bar, .b .a .bip.bop .bar')
580
389
  end
581
390
 
582
391
  def test_nested_extender_counts_extended_superselectors
583
- assert_equal <<CSS, render(<<SCSS)
584
- .a .bip .foo, .a .b .bip.bop .bar, .b .a .bip.bop .bar {
585
- a: b; }
586
- CSS
587
- .a .bip .foo {a: b}
588
- .b .bip.bop .bar {@extend .foo}
589
- SCSS
392
+ assert_extends('.a .bip .foo', '.b .bip.bop .bar {@extend .foo}',
393
+ '.a .bip .foo, .a .b .bip.bop .bar, .b .a .bip.bop .bar')
590
394
  end
591
395
 
592
396
  def test_nested_extender_with_child_selector
593
- assert_equal <<CSS, render(<<SCSS)
594
- .baz .foo, .baz foo > bar {
595
- a: b; }
596
- CSS
597
- .baz .foo {a: b}
598
- foo > bar {@extend .foo}
599
- SCSS
397
+ assert_extends '.baz .foo', 'foo > bar {@extend .foo}', '.baz .foo, .baz foo > bar'
600
398
  end
601
399
 
602
400
  def test_nested_extender_finds_common_selectors_around_child_selector
603
- assert_equal <<CSS, render(<<SCSS)
604
- a > b c .c1, a > b c .c2 {
605
- a: b; }
606
- CSS
607
- a > b c .c1 {a: b}
608
- a c .c2 {@extend .c1}
609
- SCSS
610
-
611
- assert_equal <<CSS, render(<<SCSS)
612
- a > b c .c1, a > b c .c2 {
613
- a: b; }
614
- CSS
615
- a > b c .c1 {a: b}
616
- b c .c2 {@extend .c1}
617
- SCSS
401
+ assert_extends 'a > b c .c1', 'a c .c2 {@extend .c1}', 'a > b c .c1, a > b c .c2'
402
+ assert_extends 'a > b c .c1', 'b c .c2 {@extend .c1}', 'a > b c .c1, a > b c .c2'
618
403
  end
619
404
 
620
405
  def test_nested_extender_doesnt_find_common_selectors_around_adjacent_sibling_selector
621
- assert_equal <<CSS, render(<<SCSS)
622
- a + b c .c1, a + b a c .c2, a a + b c .c2 {
623
- a: b; }
624
- CSS
625
- a + b c .c1 {a: b}
626
- a c .c2 {@extend .c1}
627
- SCSS
628
-
629
- assert_equal <<CSS, render(<<SCSS)
630
- a + b c .c1, a a + b c .c2 {
631
- a: b; }
632
- CSS
633
- a + b c .c1 {a: b}
634
- a b .c2 {@extend .c1}
635
- SCSS
636
-
637
- assert_equal <<CSS, render(<<SCSS)
638
- a + b c .c1, a + b c .c2 {
639
- a: b; }
640
- CSS
641
- a + b c .c1 {a: b}
642
- b c .c2 {@extend .c1}
643
- SCSS
406
+ assert_extends 'a + b c .c1', 'a c .c2 {@extend .c1}', 'a + b c .c1, a + b a c .c2, a a + b c .c2'
407
+ assert_extends 'a + b c .c1', 'a b .c2 {@extend .c1}', 'a + b c .c1, a a + b c .c2'
408
+ assert_extends 'a + b c .c1', 'b c .c2 {@extend .c1}', 'a + b c .c1, a + b c .c2'
644
409
  end
645
410
 
646
411
  def test_nested_extender_doesnt_find_common_selectors_around_sibling_selector
647
- assert_equal <<CSS, render(<<SCSS)
648
- a ~ b c .c1, a ~ b a c .c2, a a ~ b c .c2 {
649
- a: b; }
650
- CSS
651
- a ~ b c .c1 {a: b}
652
- a c .c2 {@extend .c1}
653
- SCSS
654
-
655
- assert_equal <<CSS, render(<<SCSS)
656
- a ~ b c .c1, a a ~ b c .c2 {
657
- a: b; }
658
- CSS
659
- a ~ b c .c1 {a: b}
660
- a b .c2 {@extend .c1}
661
- SCSS
662
-
663
- assert_equal <<CSS, render(<<SCSS)
664
- a ~ b c .c1, a ~ b c .c2 {
665
- a: b; }
666
- CSS
667
- a ~ b c .c1 {a: b}
668
- b c .c2 {@extend .c1}
669
- SCSS
412
+ assert_extends 'a ~ b c .c1', 'a c .c2 {@extend .c1}', 'a ~ b c .c1, a ~ b a c .c2, a a ~ b c .c2'
413
+ assert_extends 'a ~ b c .c1', 'a b .c2 {@extend .c1}', 'a ~ b c .c1, a a ~ b c .c2'
414
+ assert_extends 'a ~ b c .c1', 'b c .c2 {@extend .c1}', 'a ~ b c .c1, a ~ b c .c2'
670
415
  end
671
416
 
672
417
  def test_nested_extender_with_early_child_selectors_doesnt_subseq_them
673
- assert_equal <<CSS, render(<<SCSS)
674
- .bip > .bap .foo, .bip > .bap .grip > .bap .bar, .grip > .bap .bip > .bap .bar {
675
- a: b; }
676
- CSS
677
- .bip > .bap .foo {a: b}
678
- .grip > .bap .bar {@extend .foo}
679
- SCSS
680
-
681
- assert_equal <<CSS, render(<<SCSS)
682
- .bap > .bip .foo, .bap > .bip .bap > .grip .bar, .bap > .grip .bap > .bip .bar {
683
- a: b; }
684
- CSS
685
- .bap > .bip .foo {a: b}
686
- .bap > .grip .bar {@extend .foo}
687
- SCSS
418
+ assert_extends('.bip > .bap .foo', '.grip > .bap .bar {@extend .foo}',
419
+ '.bip > .bap .foo, .bip > .bap .grip > .bap .bar, .grip > .bap .bip > .bap .bar')
420
+ assert_extends('.bap > .bip .foo', '.bap > .grip .bar {@extend .foo}',
421
+ '.bap > .bip .foo, .bap > .bip .bap > .grip .bar, .bap > .grip .bap > .bip .bar')
688
422
  end
689
423
 
690
424
  def test_nested_extender_with_child_selector_unifies
691
- assert_equal <<CSS, render(<<SCSS)
692
- .baz.foo, foo > bar.baz {
693
- a: b; }
694
- CSS
695
- .baz.foo {a: b}
696
- foo > bar {@extend .foo}
697
- SCSS
425
+ assert_extends '.baz.foo', 'foo > bar {@extend .foo}', '.baz.foo, foo > bar.baz'
698
426
 
699
427
  assert_equal <<CSS, render(<<SCSS)
700
428
  .baz > .foo, .baz > .bar {
@@ -736,29 +464,9 @@ CSS
736
464
  }
737
465
  SCSS
738
466
 
739
- assert_equal <<CSS, render(<<SCSS)
740
- .foo > .bar, .foo > .bip + .baz {
741
- a: b; }
742
- CSS
743
- .foo > .bar {a: b}
744
- .bip + .baz {@extend .bar}
745
- SCSS
746
-
747
- assert_equal <<CSS, render(<<SCSS)
748
- .foo + .bar, .bip > .foo + .baz {
749
- a: b; }
750
- CSS
751
- .foo + .bar {a: b}
752
- .bip > .baz {@extend .bar}
753
- SCSS
754
-
755
- assert_equal <<CSS, render(<<SCSS)
756
- .foo > .bar, .bip.foo > .baz {
757
- a: b; }
758
- CSS
759
- .foo > .bar {a: b}
760
- .bip > .baz {@extend .bar}
761
- SCSS
467
+ assert_extends '.foo > .bar', '.bip + .baz {@extend .bar}', '.foo > .bar, .foo > .bip + .baz'
468
+ assert_extends '.foo + .bar', '.bip > .baz {@extend .bar}', '.foo + .bar, .bip > .foo + .baz'
469
+ assert_extends '.foo > .bar', '.bip > .baz {@extend .bar}', '.foo > .bar, .bip.foo > .baz'
762
470
  end
763
471
 
764
472
  def test_nested_extender_with_trailing_child_selector
@@ -768,31 +476,13 @@ SCSS
768
476
  end
769
477
 
770
478
  def test_nested_extender_with_sibling_selector
771
- assert_equal <<CSS, render(<<SCSS)
772
- .baz .foo, .baz foo + bar {
773
- a: b; }
774
- CSS
775
- .baz .foo {a: b}
776
- foo + bar {@extend .foo}
777
- SCSS
479
+ assert_extends '.baz .foo', 'foo + bar {@extend .foo}', '.baz .foo, .baz foo + bar'
778
480
  end
779
481
 
780
482
  def test_nested_extender_with_hacky_selector
781
- assert_equal <<CSS, render(<<SCSS)
782
- .baz .foo, .baz foo + > > + bar, foo .baz + > > + bar {
783
- a: b; }
784
- CSS
785
- .baz .foo {a: b}
786
- foo + > > + bar {@extend .foo}
787
- SCSS
788
-
789
- assert_equal <<CSS, render(<<SCSS)
790
- .baz .foo, > > .baz bar {
791
- a: b; }
792
- CSS
793
- .baz .foo {a: b}
794
- > > bar {@extend .foo}
795
- SCSS
483
+ assert_extends('.baz .foo', 'foo + > > + bar {@extend .foo}',
484
+ '.baz .foo, .baz foo + > > + bar, foo .baz + > > + bar')
485
+ assert_extends '.baz .foo', '> > bar {@extend .foo}', '.baz .foo, > > .baz bar'
796
486
  end
797
487
 
798
488
  def test_nested_extender_merges_with_same_selector
@@ -807,393 +497,82 @@ SCSS
807
497
  end
808
498
 
809
499
  def test_nested_extender_with_child_selector_merges_with_same_selector
810
- assert_equal <<CSS, render(<<SCSS)
811
- .foo > .bar .baz, .foo > .bar .bang {
812
- a: b; }
813
- CSS
814
- .foo > .bar .baz {a: b}
815
- .foo > .bar .bang {@extend .baz}
816
- SCSS
500
+ assert_extends('.foo > .bar .baz', '.foo > .bar .bang {@extend .baz}',
501
+ '.foo > .bar .baz, .foo > .bar .bang')
817
502
  end
818
503
 
819
504
  # Combinator Unification
820
505
 
821
506
  def test_combinator_unification_for_hacky_combinators
822
- assert_equal <<CSS, render(<<SCSS)
823
- .a > + x, .a .b > + y, .b .a > + y {
824
- a: b; }
825
- CSS
826
- .a > + x {a: b}
827
- .b y {@extend x}
828
- SCSS
829
-
830
- assert_equal <<CSS, render(<<SCSS)
831
- .a x, .a .b > + y, .b .a > + y {
832
- a: b; }
833
- CSS
834
- .a x {a: b}
835
- .b > + y {@extend x}
836
- SCSS
837
-
838
- assert_equal <<CSS, render(<<SCSS)
839
- .a > + x, .a .b > + y, .b .a > + y {
840
- a: b; }
841
- CSS
842
- .a > + x {a: b}
843
- .b > + y {@extend x}
844
- SCSS
845
-
846
- assert_equal <<CSS, render(<<SCSS)
847
- .a ~ > + x, .a .b ~ > + y, .b .a ~ > + y {
848
- a: b; }
849
- CSS
850
- .a ~ > + x {a: b}
851
- .b > + y {@extend x}
852
- SCSS
853
-
854
- assert_equal <<CSS, render(<<SCSS)
855
- .a + > x {
856
- a: b; }
857
- CSS
858
- .a + > x {a: b}
859
- .b > + y {@extend x}
860
- SCSS
861
-
862
- assert_equal <<CSS, render(<<SCSS)
863
- .a + > x {
864
- a: b; }
865
- CSS
866
- .a + > x {a: b}
867
- .b > + y {@extend x}
868
- SCSS
869
-
870
- assert_equal <<CSS, render(<<SCSS)
871
- .a ~ > + .b > x, .a .c ~ > + .d.b > y, .c .a ~ > + .d.b > y {
872
- a: b; }
873
- CSS
874
- .a ~ > + .b > x {a: b}
875
- .c > + .d > y {@extend x}
876
- SCSS
507
+ assert_extends '.a > + x', '.b y {@extend x}', '.a > + x, .a .b > + y, .b .a > + y'
508
+ assert_extends '.a x', '.b > + y {@extend x}', '.a x, .a .b > + y, .b .a > + y'
509
+ assert_extends '.a > + x', '.b > + y {@extend x}', '.a > + x, .a .b > + y, .b .a > + y'
510
+ assert_extends '.a ~ > + x', '.b > + y {@extend x}', '.a ~ > + x, .a .b ~ > + y, .b .a ~ > + y'
511
+ assert_extends '.a + > x', '.b > + y {@extend x}', '.a + > x'
512
+ assert_extends '.a + > x', '.b > + y {@extend x}', '.a + > x'
513
+ assert_extends '.a ~ > + .b > x', '.c > + .d > y {@extend x}', '.a ~ > + .b > x, .a .c ~ > + .d.b > y, .c .a ~ > + .d.b > y'
877
514
  end
878
515
 
879
516
  def test_combinator_unification_double_tilde
880
- assert_equal <<CSS, render(<<SCSS)
881
- .a.b ~ x, .a.b ~ y {
882
- a: b; }
883
- CSS
884
- .a.b ~ x {a: b}
885
- .a ~ y {@extend x}
886
- SCSS
887
-
888
- assert_equal <<CSS, render(<<SCSS)
889
- .a ~ x, .a.b ~ y {
890
- a: b; }
891
- CSS
892
- .a ~ x {a: b}
893
- .a.b ~ y {@extend x}
894
- SCSS
895
-
896
- assert_equal <<CSS, render(<<SCSS)
897
- .a ~ x, .a ~ .b ~ y, .b ~ .a ~ y, .b.a ~ y {
898
- a: b; }
899
- CSS
900
- .a ~ x {a: b}
901
- .b ~ y {@extend x}
902
- SCSS
903
-
904
- assert_equal <<CSS, render(<<SCSS)
905
- a.a ~ x, a.a ~ b.b ~ y, b.b ~ a.a ~ y {
906
- a: b; }
907
- CSS
908
- a.a ~ x {a: b}
909
- b.b ~ y {@extend x}
910
- SCSS
517
+ assert_extends '.a.b ~ x', '.a ~ y {@extend x}', '.a.b ~ x, .a.b ~ y'
518
+ assert_extends '.a ~ x', '.a.b ~ y {@extend x}', '.a ~ x, .a.b ~ y'
519
+ assert_extends '.a ~ x', '.b ~ y {@extend x}', '.a ~ x, .a ~ .b ~ y, .b ~ .a ~ y, .b.a ~ y'
520
+ assert_extends 'a.a ~ x', 'b.b ~ y {@extend x}', 'a.a ~ x, a.a ~ b.b ~ y, b.b ~ a.a ~ y'
911
521
  end
912
522
 
913
523
  def test_combinator_unification_tilde_plus
914
- assert_equal <<CSS, render(<<SCSS)
915
- .a.b + x, .a.b + y {
916
- a: b; }
917
- CSS
918
- .a.b + x {a: b}
919
- .a ~ y {@extend x}
920
- SCSS
921
-
922
- assert_equal <<CSS, render(<<SCSS)
923
- .a + x, .a.b ~ .a + y, .a.b + y {
924
- a: b; }
925
- CSS
926
- .a + x {a: b}
927
- .a.b ~ y {@extend x}
928
- SCSS
929
-
930
- assert_equal <<CSS, render(<<SCSS)
931
- .a + x, .b ~ .a + y, .b.a + y {
932
- a: b; }
933
- CSS
934
- .a + x {a: b}
935
- .b ~ y {@extend x}
936
- SCSS
937
-
938
- assert_equal <<CSS, render(<<SCSS)
939
- a.a + x, b.b ~ a.a + y {
940
- a: b; }
941
- CSS
942
- a.a + x {a: b}
943
- b.b ~ y {@extend x}
944
- SCSS
945
-
946
- assert_equal <<CSS, render(<<SCSS)
947
- .a.b ~ x, .a.b ~ .a + y, .a.b + y {
948
- a: b; }
949
- CSS
950
- .a.b ~ x {a: b}
951
- .a + y {@extend x}
952
- SCSS
953
-
954
- assert_equal <<CSS, render(<<SCSS)
955
- .a ~ x, .a.b + y {
956
- a: b; }
957
- CSS
958
- .a ~ x {a: b}
959
- .a.b + y {@extend x}
960
- SCSS
961
-
962
- assert_equal <<CSS, render(<<SCSS)
963
- .a ~ x, .a ~ .b + y, .a.b + y {
964
- a: b; }
965
- CSS
966
- .a ~ x {a: b}
967
- .b + y {@extend x}
968
- SCSS
969
-
970
- assert_equal <<CSS, render(<<SCSS)
971
- a.a ~ x, a.a ~ b.b + y {
972
- a: b; }
973
- CSS
974
- a.a ~ x {a: b}
975
- b.b + y {@extend x}
976
- SCSS
524
+ assert_extends '.a.b + x', '.a ~ y {@extend x}', '.a.b + x, .a.b + y'
525
+ assert_extends '.a + x', '.a.b ~ y {@extend x}', '.a + x, .a.b ~ .a + y, .a.b + y'
526
+ assert_extends '.a + x', '.b ~ y {@extend x}', '.a + x, .b ~ .a + y, .b.a + y'
527
+ assert_extends 'a.a + x', 'b.b ~ y {@extend x}', 'a.a + x, b.b ~ a.a + y'
528
+ assert_extends '.a.b ~ x', '.a + y {@extend x}', '.a.b ~ x, .a.b ~ .a + y, .a.b + y'
529
+ assert_extends '.a ~ x', '.a.b + y {@extend x}', '.a ~ x, .a.b + y'
530
+ assert_extends '.a ~ x', '.b + y {@extend x}', '.a ~ x, .a ~ .b + y, .a.b + y'
531
+ assert_extends 'a.a ~ x', 'b.b + y {@extend x}', 'a.a ~ x, a.a ~ b.b + y'
977
532
  end
978
533
 
979
534
  def test_combinator_unification_angle_sibling
980
- assert_equal <<CSS, render(<<SCSS)
981
- .a > x, .a > .b ~ y {
982
- a: b; }
983
- CSS
984
- .a > x {a: b}
985
- .b ~ y {@extend x}
986
- SCSS
987
-
988
- assert_equal <<CSS, render(<<SCSS)
989
- .a > x, .a > .b + y {
990
- a: b; }
991
- CSS
992
- .a > x {a: b}
993
- .b + y {@extend x}
994
- SCSS
995
-
996
- assert_equal <<CSS, render(<<SCSS)
997
- .a ~ x, .b > .a ~ y {
998
- a: b; }
999
- CSS
1000
- .a ~ x {a: b}
1001
- .b > y {@extend x}
1002
- SCSS
1003
-
1004
- assert_equal <<CSS, render(<<SCSS)
1005
- .a + x, .b > .a + y {
1006
- a: b; }
1007
- CSS
1008
- .a + x {a: b}
1009
- .b > y {@extend x}
1010
- SCSS
535
+ assert_extends '.a > x', '.b ~ y {@extend x}', '.a > x, .a > .b ~ y'
536
+ assert_extends '.a > x', '.b + y {@extend x}', '.a > x, .a > .b + y'
537
+ assert_extends '.a ~ x', '.b > y {@extend x}', '.a ~ x, .b > .a ~ y'
538
+ assert_extends '.a + x', '.b > y {@extend x}', '.a + x, .b > .a + y'
1011
539
  end
1012
540
 
1013
541
  def test_combinator_unification_double_angle
1014
- assert_equal <<CSS, render(<<SCSS)
1015
- .a.b > x, .b.a > y {
1016
- a: b; }
1017
- CSS
1018
- .a.b > x {a: b}
1019
- .b > y {@extend x}
1020
- SCSS
1021
-
1022
- assert_equal <<CSS, render(<<SCSS)
1023
- .a > x, .a.b > y {
1024
- a: b; }
1025
- CSS
1026
- .a > x {a: b}
1027
- .a.b > y {@extend x}
1028
- SCSS
1029
-
1030
- assert_equal <<CSS, render(<<SCSS)
1031
- .a > x, .b.a > y {
1032
- a: b; }
1033
- CSS
1034
- .a > x {a: b}
1035
- .b > y {@extend x}
1036
- SCSS
1037
-
1038
- assert_equal <<CSS, render(<<SCSS)
1039
- a.a > x {
1040
- a: b; }
1041
- CSS
1042
- a.a > x {a: b}
1043
- b.b > y {@extend x}
1044
- SCSS
542
+ assert_extends '.a.b > x', '.b > y {@extend x}', '.a.b > x, .b.a > y'
543
+ assert_extends '.a > x', '.a.b > y {@extend x}', '.a > x, .a.b > y'
544
+ assert_extends '.a > x', '.b > y {@extend x}', '.a > x, .b.a > y'
545
+ assert_extends 'a.a > x', 'b.b > y {@extend x}', 'a.a > x'
1045
546
  end
1046
547
 
1047
548
  def test_combinator_unification_double_plus
1048
- assert_equal <<CSS, render(<<SCSS)
1049
- .a.b + x, .b.a + y {
1050
- a: b; }
1051
- CSS
1052
- .a.b + x {a: b}
1053
- .b + y {@extend x}
1054
- SCSS
1055
-
1056
- assert_equal <<CSS, render(<<SCSS)
1057
- .a + x, .a.b + y {
1058
- a: b; }
1059
- CSS
1060
- .a + x {a: b}
1061
- .a.b + y {@extend x}
1062
- SCSS
1063
-
1064
- assert_equal <<CSS, render(<<SCSS)
1065
- .a + x, .b.a + y {
1066
- a: b; }
1067
- CSS
1068
- .a + x {a: b}
1069
- .b + y {@extend x}
1070
- SCSS
1071
-
1072
- assert_equal <<CSS, render(<<SCSS)
1073
- a.a + x {
1074
- a: b; }
1075
- CSS
1076
- a.a + x {a: b}
1077
- b.b + y {@extend x}
1078
- SCSS
549
+ assert_extends '.a.b + x', '.b + y {@extend x}', '.a.b + x, .b.a + y'
550
+ assert_extends '.a + x', '.a.b + y {@extend x}', '.a + x, .a.b + y'
551
+ assert_extends '.a + x', '.b + y {@extend x}', '.a + x, .b.a + y'
552
+ assert_extends 'a.a + x', 'b.b + y {@extend x}', 'a.a + x'
1079
553
  end
1080
554
 
1081
555
  def test_combinator_unification_angle_space
1082
- assert_equal <<CSS, render(<<SCSS)
1083
- .a.b > x, .a.b > y {
1084
- a: b; }
1085
- CSS
1086
- .a.b > x {a: b}
1087
- .a y {@extend x}
1088
- SCSS
1089
-
1090
- assert_equal <<CSS, render(<<SCSS)
1091
- .a > x, .a.b .a > y {
1092
- a: b; }
1093
- CSS
1094
- .a > x {a: b}
1095
- .a.b y {@extend x}
1096
- SCSS
1097
-
1098
- assert_equal <<CSS, render(<<SCSS)
1099
- .a > x, .b .a > y {
1100
- a: b; }
1101
- CSS
1102
- .a > x {a: b}
1103
- .b y {@extend x}
1104
- SCSS
1105
-
1106
- assert_equal <<CSS, render(<<SCSS)
1107
- .a.b x, .a.b .a > y {
1108
- a: b; }
1109
- CSS
1110
- .a.b x {a: b}
1111
- .a > y {@extend x}
1112
- SCSS
1113
-
1114
- assert_equal <<CSS, render(<<SCSS)
1115
- .a x, .a.b > y {
1116
- a: b; }
1117
- CSS
1118
- .a x {a: b}
1119
- .a.b > y {@extend x}
1120
- SCSS
1121
-
1122
- assert_equal <<CSS, render(<<SCSS)
1123
- .a x, .a .b > y {
1124
- a: b; }
1125
- CSS
1126
- .a x {a: b}
1127
- .b > y {@extend x}
1128
- SCSS
556
+ assert_extends '.a.b > x', '.a y {@extend x}', '.a.b > x, .a.b > y'
557
+ assert_extends '.a > x', '.a.b y {@extend x}', '.a > x, .a.b .a > y'
558
+ assert_extends '.a > x', '.b y {@extend x}', '.a > x, .b .a > y'
559
+ assert_extends '.a.b x', '.a > y {@extend x}', '.a.b x, .a.b .a > y'
560
+ assert_extends '.a x', '.a.b > y {@extend x}', '.a x, .a.b > y'
561
+ assert_extends '.a x', '.b > y {@extend x}', '.a x, .a .b > y'
1129
562
  end
1130
563
 
1131
564
  def test_combinator_unification_plus_space
1132
- assert_equal <<CSS, render(<<SCSS)
1133
- .a.b + x, .a .a.b + y {
1134
- a: b; }
1135
- CSS
1136
- .a.b + x {a: b}
1137
- .a y {@extend x}
1138
- SCSS
1139
-
1140
- assert_equal <<CSS, render(<<SCSS)
1141
- .a + x, .a.b .a + y {
1142
- a: b; }
1143
- CSS
1144
- .a + x {a: b}
1145
- .a.b y {@extend x}
1146
- SCSS
1147
-
1148
- assert_equal <<CSS, render(<<SCSS)
1149
- .a + x, .b .a + y {
1150
- a: b; }
1151
- CSS
1152
- .a + x {a: b}
1153
- .b y {@extend x}
1154
- SCSS
1155
-
1156
- assert_equal <<CSS, render(<<SCSS)
1157
- .a.b x, .a.b .a + y {
1158
- a: b; }
1159
- CSS
1160
- .a.b x {a: b}
1161
- .a + y {@extend x}
1162
- SCSS
1163
-
1164
- assert_equal <<CSS, render(<<SCSS)
1165
- .a x, .a .a.b + y {
1166
- a: b; }
1167
- CSS
1168
- .a x {a: b}
1169
- .a.b + y {@extend x}
1170
- SCSS
1171
-
1172
- assert_equal <<CSS, render(<<SCSS)
1173
- .a x, .a .b + y {
1174
- a: b; }
1175
- CSS
1176
- .a x {a: b}
1177
- .b + y {@extend x}
1178
- SCSS
565
+ assert_extends '.a.b + x', '.a y {@extend x}', '.a.b + x, .a .a.b + y'
566
+ assert_extends '.a + x', '.a.b y {@extend x}', '.a + x, .a.b .a + y'
567
+ assert_extends '.a + x', '.b y {@extend x}', '.a + x, .b .a + y'
568
+ assert_extends '.a.b x', '.a + y {@extend x}', '.a.b x, .a.b .a + y'
569
+ assert_extends '.a x', '.a.b + y {@extend x}', '.a x, .a .a.b + y'
570
+ assert_extends '.a x', '.b + y {@extend x}', '.a x, .a .b + y'
1179
571
  end
1180
572
 
1181
573
  def test_combinator_unification_nested
1182
- assert_equal <<CSS, render(<<SCSS)
1183
- .a > .b + x, .c.a > .d.b + y {
1184
- a: b; }
1185
- CSS
1186
- .a > .b + x {a: b}
1187
- .c > .d + y {@extend x}
1188
- SCSS
1189
-
1190
- assert_equal <<CSS, render(<<SCSS)
1191
- .a > .b + x, .c.a > .b + y {
1192
- a: b; }
1193
- CSS
1194
- .a > .b + x {a: b}
1195
- .c > y {@extend x}
1196
- SCSS
574
+ assert_extends '.a > .b + x', '.c > .d + y {@extend x}', '.a > .b + x, .c.a > .d.b + y'
575
+ assert_extends '.a > .b + x', '.c > y {@extend x}', '.a > .b + x, .c.a > .b + y'
1197
576
  end
1198
577
 
1199
578
  def test_combinator_unification_with_newlines
@@ -1345,13 +724,7 @@ SCSS
1345
724
  end
1346
725
 
1347
726
  def test_basic_placeholder_selector
1348
- assert_equal <<CSS, render(<<SCSS)
1349
- .bar {
1350
- color: blue; }
1351
- CSS
1352
- %foo {color: blue}
1353
- .bar {@extend %foo}
1354
- SCSS
727
+ assert_extends '%foo', '.bar {@extend %foo}', '.bar'
1355
728
  end
1356
729
 
1357
730
  def test_unused_placeholder_selector
@@ -1366,13 +739,7 @@ SCSS
1366
739
  end
1367
740
 
1368
741
  def test_placeholder_descendant_selector
1369
- assert_equal <<CSS, render(<<SCSS)
1370
- #context .bar a {
1371
- color: blue; }
1372
- CSS
1373
- #context %foo a {color: blue}
1374
- .bar {@extend %foo}
1375
- SCSS
742
+ assert_extends '#context %foo a', '.bar {@extend %foo}', '#context .bar a'
1376
743
  end
1377
744
 
1378
745
  def test_semi_placeholder_selector
@@ -1463,43 +830,19 @@ SCSS
1463
830
  end
1464
831
 
1465
832
  def test_nested_selector_with_child_selector_hack_extendee
1466
- assert_equal <<CSS, render(<<SCSS)
1467
- > .foo, > foo bar {
1468
- a: b; }
1469
- CSS
1470
- > .foo {a: b}
1471
- foo bar {@extend .foo}
1472
- SCSS
833
+ assert_extends '> .foo', 'foo bar {@extend .foo}', '> .foo, > foo bar'
1473
834
  end
1474
835
 
1475
836
  def test_nested_selector_with_child_selector_hack_extender
1476
- assert_equal <<CSS, render(<<SCSS)
1477
- .foo .bar, > .foo foo bar, > foo .foo bar {
1478
- a: b; }
1479
- CSS
1480
- .foo .bar {a: b}
1481
- > foo bar {@extend .bar}
1482
- SCSS
837
+ assert_extends '.foo .bar', '> foo bar {@extend .bar}', '.foo .bar, > .foo foo bar, > foo .foo bar'
1483
838
  end
1484
839
 
1485
840
  def test_nested_selector_with_child_selector_hack_extender_and_extendee
1486
- assert_equal <<CSS, render(<<SCSS)
1487
- > .foo, > foo bar {
1488
- a: b; }
1489
- CSS
1490
- > .foo {a: b}
1491
- > foo bar {@extend .foo}
1492
- SCSS
841
+ assert_extends '> .foo', '> foo bar {@extend .foo}', '> .foo, > foo bar'
1493
842
  end
1494
843
 
1495
844
  def test_nested_selector_with_child_selector_hack_extender_and_sibling_selector_extendee
1496
- assert_equal <<CSS, render(<<SCSS)
1497
- ~ .foo {
1498
- a: b; }
1499
- CSS
1500
- ~ .foo {a: b}
1501
- > foo bar {@extend .foo}
1502
- SCSS
845
+ assert_extends '~ .foo', '> foo bar {@extend .foo}', '~ .foo'
1503
846
  end
1504
847
 
1505
848
  def test_nested_selector_with_child_selector_hack_extender_and_extendee_and_newline
@@ -1528,33 +871,15 @@ SCSS
1528
871
  end
1529
872
 
1530
873
  def test_extend_redundancy_elimination_when_it_would_reduce_specificity
1531
- assert_equal <<CSS, render(<<SCSS)
1532
- a, a.foo {
1533
- x: y; }
1534
- CSS
1535
- a {x: y}
1536
- a.foo {@extend a}
1537
- SCSS
874
+ assert_extends 'a', 'a.foo {@extend a}', 'a, a.foo'
1538
875
  end
1539
876
 
1540
877
  def test_extend_redundancy_elimination_when_it_would_preserve_specificity
1541
- assert_equal <<CSS, render(<<SCSS)
1542
- .bar a {
1543
- x: y; }
1544
- CSS
1545
- .bar a {x: y}
1546
- a.foo {@extend a}
1547
- SCSS
878
+ assert_extends '.bar a', 'a.foo {@extend a}', '.bar a'
1548
879
  end
1549
880
 
1550
881
  def test_extend_redundancy_elimination_never_eliminates_base_selector
1551
- assert_equal <<CSS, render(<<SCSS)
1552
- a.foo, .foo {
1553
- x: y; }
1554
- CSS
1555
- a.foo {x: y}
1556
- .foo {@extend a}
1557
- SCSS
882
+ assert_extends 'a.foo', '.foo {@extend a}', 'a.foo, .foo'
1558
883
  end
1559
884
 
1560
885
  def test_extend_cross_branch_redundancy_elimination
@@ -1581,13 +906,20 @@ SCSS
1581
906
  private
1582
907
 
1583
908
  def assert_unification(selector, extension, unified)
909
+ # Do some trickery so the first law of extend doesn't get in our way.
910
+ assert_extends(
911
+ "%-a #{selector}",
912
+ extension + " -a {@extend %-a}",
913
+ unified.split(', ').map {|s| "-a #{s}"}.join(', '))
914
+ end
915
+
916
+ def assert_extends(selector, extension, result)
1584
917
  assert_equal <<CSS, render(<<SCSS)
1585
- #{unified.split(', ').map {|s| "-a #{s}"}.join(', ')} {
918
+ #{result} {
1586
919
  a: b; }
1587
920
  CSS
1588
- %-a #{selector} {a: b}
921
+ #{selector} {a: b}
1589
922
  #{extension}
1590
- -a {@extend %-a}
1591
923
  SCSS
1592
924
  end
1593
925
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass
3
3
  version: !ruby/object:Gem::Version
4
- hash: 592303067
4
+ hash: 592303061
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 3
8
8
  - 2
9
9
  - 0
10
10
  - alpha
11
- - 99
12
- version: 3.2.0.alpha.99
11
+ - 100
12
+ version: 3.2.0.alpha.100
13
13
  platform: ruby
14
14
  authors:
15
15
  - Nathan Weizenbaum
@@ -162,8 +162,8 @@ files:
162
162
  - lib/sass/tree/visitors/set_options.rb
163
163
  - lib/sass/tree/visitors/to_css.rb
164
164
  - lib/sass/tree/while_node.rb
165
- - lib/sass/tree/trace_node.rb
166
165
  - lib/sass/tree/supports_node.rb
166
+ - lib/sass/tree/trace_node.rb
167
167
  - lib/sass/media.rb
168
168
  - lib/sass/util/multibyte_string_scanner.rb
169
169
  - lib/sass/util/subset_map.rb