215 Commits

Author SHA1 Message Date
Gino Pane
35a7553660 - Add shell script to convert symlinks;
- Fix JSTest data for cross-system compatibility;
- Update test-case for https://github.com/matthiasmullie/minify/issues/56 and perform fixes;
- Some code simplifications, remove some code duplicates;
- Ignore test samples for convenience of running tests;
- Update readme.
2016-02-09 00:23:23 +03:00
Gino Pane
bb08394c10 Temp commit 2016-02-04 23:28:16 +03:00
Matthias Mullie
ad8508130e Ignore GET-params when converting paths
Fixes #77
2016-01-20 10:23:55 +01:00
Matthias Mullie
140c714688 Don't strip } when stripping empty tags preceeded by 2 }s
Fixes #92
2016-01-10 18:10:11 -08:00
Matthias Mullie
bf87a5cdc2 Combine imports/import files earlier
If we wait until after adjusting the paths relative to the new
target, we may fail to import them because the path they'll be
relative to may not yet exist.

If we do it after moving path
2016-01-06 17:18:37 -08:00
Matthias Mullie
3da112a6a3 Create target dir for tests, it's required to resolve path 2016-01-06 17:10:31 -08:00
Matthias Mullie
13641aee3c php-cs-fixer fixes 2016-01-06 16:44:12 -08:00
Matthias Mullie
5612427e40 Add tests for symlinked folders 2016-01-06 16:38:59 -08:00
Matthias Mullie
a39e04c6ea Fix symlink tests 2016-01-06 15:11:54 -08:00
Matthias Mullie
0cd5108683 Add tests for symlinked files
Fixes #77
2016-01-04 23:43:18 -08:00
Matthias Mullie
791e81a529 Use more sensible test CSS 2016-01-04 15:57:15 -08:00
Matthias Mullie
31371a6a67 Strip empty else-statements
Fixes #91
2016-01-04 14:59:19 -08:00
Matthias Mullie
72c862d141 Improve check for invalid (too long) paths (which are likely content)
Fixes #90
2016-01-04 14:22:38 -08:00
Matthias Mullie
da03f6d13c Don't strip double simicolons inside for
Fixes issue #89
2015-12-17 22:35:42 +01:00
Matthias Mullie
a1e9988195 Add test for issue #74 2015-09-21 21:21:48 +02:00
Matthias Mullie
9004585177 Don't swallow entire tags when stripping empties
Whenever an empty tag was found, everything before it risked
being eaten because I wasn't strict enough about the characters
allowed. Crossing `{` can not be allowed.

Fixes #67
2015-09-08 12:41:15 +02:00
Matthias Mullie
4a9b888547 Remove empty CSS tags
Fixes #67
2015-09-07 21:47:22 +02:00
Matthias Mullie
44cbb9c0f5 Add test for issue #66 2015-09-07 21:35:28 +02:00
Matthias Mullie
fe80dc7657 Alternative double-semicolon removal fix
Previous one didn't sufficiently remove double semicolons.
This one should be too eager, but then restore them if they
were valid in a for loop.

Fixes #70
2015-09-07 21:26:29 +02:00
Kait Todesk
f2f072ad54 Preserve for-loop semicolons when 2nd statement is empty 2015-09-07 12:05:27 +03:00
Matthias Mullie
bdbb91277b php-cs-fixer 2015-09-05 21:49:18 +02:00
Wouter M. van Vliet
e932dbf4ee Merge remote-tracking branch 'upstream/master' into move-external-imports 2015-09-05 20:15:28 +02:00
Matthias Mullie
c1b61592f4 Update cache repo location 2015-09-04 11:02:35 +02:00
Wouter M. van Vliet
782ea423e4 Add test for fixed issue 2015-09-02 17:33:56 +02:00
Matthias Mullie
7fc36687ec Strip some more leading & trailing zeroes 2015-08-25 14:56:09 +02:00
Matthias Mullie
3575143b4f Don't strip all units for 0-values
Looks like webkit (especially Safari) doesn't properly handle
0% being 0.
Also had to rewrite some regexes because they should now assume
there may still be a unit.

Fixes issue #60
2015-08-25 14:43:30 +02:00
Matthias Mullie
c7dcdc4934 Add test for issue #64 2015-08-20 16:32:14 +02:00
Matthias Mullie
ea809e7d06 Improve string-extraction regex
Fixes bug #58
2015-08-20 16:09:10 +02:00
Matthias Mullie
c37967744d Recognize regular expressions after reserved words
Fixes issue #59
2015-08-19 16:48:35 +02:00
Matthias Mullie
76cf88faaa Add test for issue #58 2015-08-19 16:20:20 +02:00
Matthias Mullie
4cf2880e51 Preserve newline immediately after regex
Fixes issue #56
2015-08-19 16:05:08 +02:00
Matthias Mullie
5497bea3d1 Don't collapse line feeds after "return"
return is not guaranteed to be followed by a return value.
It could just be "return", followed by nothing (void return),
not even a semicolon, just line feed (ASI)
Whatever is next could, for example, be another operator.
We may just need ASI to kick in there, so keep the line feed
after return.

Fixes issue #54
2015-06-29 17:51:16 +02:00
Matthias Mullie
894928f067 Add test case for issue #53 2015-06-29 17:51:00 +02:00
Matthias Mullie
15e564ff49 Fix relative target path tests 2015-05-13 18:03:46 +02:00
Matthias Mullie
7d68b7da3b Add tests for multibyte char paths
Meanwhile also made it possible to stub a path in the tests, and
stop writing out the minifier result.
2015-05-13 17:43:25 +02:00
Matthias Mullie
49a2aca294 Allow minified data to be written to cache 2015-05-05 16:43:08 +02:00
Matthias Mullie
90837a6886 Don't replace while if it's part of a do-while
Fixes issue #50
2015-05-05 16:27:10 +02:00
Matthias Mullie
e26263e566 Add test for issue #49 2015-05-05 14:52:16 +02:00
Matthias Mullie
30a459229f Add gzip method
Fixed #47
2015-04-07 15:47:36 +02:00
Matthias Mullie
2a70744313 Shorten while(true) to for(;;) 2015-04-07 15:35:03 +02:00
Matthias Mullie
ecd1a04d88 Allow for-loops with empty bodies
Fixed #42
2015-04-07 15:26:37 +02:00
Matthias Mullie
e15f77b7f6 Don't convert standalone arrays
"return" looks like it could be a variable of which ['x']
is a key. I've improved the code to also check for keywords.
If whatever preceeds it is one of the keywords, don't convert.

Fixes issue #44
2015-03-12 16:11:36 +01:00
Matthias Mullie
0916262056 Don't override already restored data
Fixes issue #43
2015-03-10 10:01:13 +01:00
Matthias Mullie
d34af3d323 php-cs-fixer fixes 2015-03-06 13:17:33 +01:00
Matthias Mullie
86448c21ac Fix recursive relative path resolving
I had to split the action of minification into a separate
method because recursively importing files requires them
to also be minified, and I don't want that one to write
to a file.
2015-03-06 12:01:30 +01:00
Matthias Mullie
22dbb726a0 Don't strip double semicolons before )
Fixes #40
2015-02-26 09:07:21 +01:00
Matthias Mullie
778c63c8eb Don't replace reserved words by property notation
Fixes #41
2015-02-26 08:41:17 +01:00
Matthias Mullie
5114e7f22c Add tests for issue #39
Fixes issue #39
2015-02-20 17:27:10 +01:00
Matthias Mullie
4aa0c8872b Everything should extract strings first & goe through move
* Let everything go through move(), even if the file is not being
written elsewhere (it also does some cleanup)
* Reorder minify statements: string/comment parsing should come first
* Update test with url() that makes no sense
* Update same test to escape as intended (double-escape would’ve been needed)
2015-02-20 17:24:53 +01:00
Matthias Mullie
227efa7bf8 Don't touch relative paths if no target path is given
Fixes issue #38
2015-02-20 17:05:08 +01:00