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

Sign up to get free protection for your applications and to get access to all the features.
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