use strict; use warnings; use lib qw( ./lib ../lib ); use Test::More; plan(tests => 4); use_ok('CSS::Simple'); my $css = <new({browser_specific_properties => 1}); $simple1->read({css => $css}); my $properties1 = [sort keys %{$simple1->get_properties({selector => '#program-editor *::after'})}]; my $expected1 = ['-moz-user-select', '-ms-user-select', '-webkit-touch-callout', '-webkit-user-select', 'box-sizing', 'user-select']; is_deeply($expected1, $properties1, 'browser specific properties processed'); # test for presence of browser specific properties when the related option is disabled my $simple2 = CSS::Simple->new({browser_specific_properties => 0}); $simple2->read({css => $css}); my $properties2 = [sort keys %{$simple2->get_properties({selector => '#program-editor *::after'})}]; my $expected2 = ['box-sizing','user-select']; is_deeply($expected2, $properties2, 'browser specific properties ignored'); # test for presence of browser specific properties when the related option is unspecified my $simple3 = CSS::Simple->new(); $simple3->read({css => $css}); my $properties3 = [sort keys %{$simple3->get_properties({selector => '#program-editor *::after'})}]; my $expected3 = ['box-sizing','user-select']; is_deeply($expected3, $properties3, 'browser specific properties ignored');