Add .gitattributes to checkout lf eol style

closes #1487
This commit is contained in:
Anthony Van de Gejuchte
2017-02-18 19:33:05 +08:00
committed by alexlamsl
parent 09f9ae2de9
commit c06a50f338
3 changed files with 231 additions and 230 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.js text eol=lf

View File

@@ -1,206 +1,206 @@
dead_code_1: { dead_code_1: {
options = { options = {
dead_code: true dead_code: true
}; };
input: { input: {
function f() { function f() {
a(); a();
b(); b();
x = 10; x = 10;
return; return;
if (x) { if (x) {
y(); y();
} }
} }
} }
expect: { expect: {
function f() { function f() {
a(); a();
b(); b();
x = 10; x = 10;
return; return;
} }
} }
} }
dead_code_2_should_warn: { dead_code_2_should_warn: {
options = { options = {
dead_code: true dead_code: true
}; };
input: { input: {
function f() { function f() {
g(); g();
x = 10; x = 10;
throw "foo"; throw "foo";
// completely discarding the `if` would introduce some // completely discarding the `if` would introduce some
// bugs. UglifyJS v1 doesn't deal with this issue; in v2 // bugs. UglifyJS v1 doesn't deal with this issue; in v2
// we copy any declarations to the upper scope. // we copy any declarations to the upper scope.
if (x) { if (x) {
y(); y();
var x; var x;
function g(){}; function g(){};
// but nested declarations should not be kept. // but nested declarations should not be kept.
(function(){ (function(){
var q; var q;
function y(){}; function y(){};
})(); })();
} }
} }
} }
expect: { expect: {
function f() { function f() {
g(); g();
x = 10; x = 10;
throw "foo"; throw "foo";
var x; var x;
function g(){}; function g(){};
} }
} }
} }
dead_code_constant_boolean_should_warn_more: { dead_code_constant_boolean_should_warn_more: {
options = { options = {
dead_code : true, dead_code : true,
loops : true, loops : true,
booleans : true, booleans : true,
conditionals : true, conditionals : true,
evaluate : true evaluate : true
}; };
input: { input: {
while (!((foo && bar) || (x + "0"))) { while (!((foo && bar) || (x + "0"))) {
console.log("unreachable"); console.log("unreachable");
var foo; var foo;
function bar() {} function bar() {}
} }
for (var x = 10, y; x && (y || x) && (!typeof x); ++x) { for (var x = 10, y; x && (y || x) && (!typeof x); ++x) {
asdf(); asdf();
foo(); foo();
var moo; var moo;
} }
} }
expect: { expect: {
var foo; var foo;
function bar() {} function bar() {}
// nothing for the while // nothing for the while
// as for the for, it should keep: // as for the for, it should keep:
var x = 10, y; var x = 10, y;
var moo; var moo;
} }
} }
dead_code_const_declaration: { dead_code_const_declaration: {
options = { options = {
dead_code : true, dead_code : true,
loops : true, loops : true,
booleans : true, booleans : true,
conditionals : true, conditionals : true,
evaluate : true evaluate : true
}; };
input: { input: {
var unused; var unused;
const CONST_FOO = false; const CONST_FOO = false;
if (CONST_FOO) { if (CONST_FOO) {
console.log("unreachable"); console.log("unreachable");
var moo; var moo;
function bar() {} function bar() {}
} }
} }
expect: { expect: {
var unused; var unused;
const CONST_FOO = !1; const CONST_FOO = !1;
var moo; var moo;
function bar() {} function bar() {}
} }
} }
dead_code_const_annotation: { dead_code_const_annotation: {
options = { options = {
dead_code : true, dead_code : true,
loops : true, loops : true,
booleans : true, booleans : true,
conditionals : true, conditionals : true,
evaluate : true evaluate : true
}; };
input: { input: {
var unused; var unused;
/** @const */ var CONST_FOO_ANN = false; /** @const */ var CONST_FOO_ANN = false;
if (CONST_FOO_ANN) { if (CONST_FOO_ANN) {
console.log("unreachable"); console.log("unreachable");
var moo; var moo;
function bar() {} function bar() {}
} }
} }
expect: { expect: {
var unused; var unused;
var CONST_FOO_ANN = !1; var CONST_FOO_ANN = !1;
var moo; var moo;
function bar() {} function bar() {}
} }
} }
dead_code_const_annotation_regex: { dead_code_const_annotation_regex: {
options = { options = {
dead_code : true, dead_code : true,
loops : true, loops : true,
booleans : true, booleans : true,
conditionals : true, conditionals : true,
evaluate : true evaluate : true
}; };
input: { input: {
var unused; var unused;
// @constraint this shouldn't be a constant // @constraint this shouldn't be a constant
var CONST_FOO_ANN = false; var CONST_FOO_ANN = false;
if (CONST_FOO_ANN) { if (CONST_FOO_ANN) {
console.log("reachable"); console.log("reachable");
} }
} }
expect: { expect: {
var unused; var unused;
var CONST_FOO_ANN = !1; var CONST_FOO_ANN = !1;
CONST_FOO_ANN && console.log('reachable'); CONST_FOO_ANN && console.log('reachable');
} }
} }
dead_code_const_annotation_complex_scope: { dead_code_const_annotation_complex_scope: {
options = { options = {
dead_code : true, dead_code : true,
loops : true, loops : true,
booleans : true, booleans : true,
conditionals : true, conditionals : true,
evaluate : true evaluate : true
}; };
input: { input: {
var unused_var; var unused_var;
/** @const */ var test = 'test'; /** @const */ var test = 'test';
// @const // @const
var CONST_FOO_ANN = false; var CONST_FOO_ANN = false;
var unused_var_2; var unused_var_2;
if (CONST_FOO_ANN) { if (CONST_FOO_ANN) {
console.log("unreachable"); console.log("unreachable");
var moo; var moo;
function bar() {} function bar() {}
} }
if (test === 'test') { if (test === 'test') {
var beef = 'good'; var beef = 'good';
/** @const */ var meat = 'beef'; /** @const */ var meat = 'beef';
var pork = 'bad'; var pork = 'bad';
if (meat === 'pork') { if (meat === 'pork') {
console.log('also unreachable'); console.log('also unreachable');
} else if (pork === 'good') { } else if (pork === 'good') {
console.log('reached, not const'); console.log('reached, not const');
} }
} }
} }
expect: { expect: {
var unused_var; var unused_var;
var test = 'test'; var test = 'test';
var CONST_FOO_ANN = !1; var CONST_FOO_ANN = !1;
var unused_var_2; var unused_var_2;
var moo; var moo;
function bar() {} function bar() {}
var beef = 'good'; var beef = 'good';
var meat = 'beef'; var meat = 'beef';
var pork = 'bad'; var pork = 'bad';
'good' === pork && console.log('reached, not const'); 'good' === pork && console.log('reached, not const');
} }
} }

View File

@@ -1,24 +1,24 @@
drop_console_1: { drop_console_1: {
options = {}; options = {};
input: { input: {
console.log('foo'); console.log('foo');
console.log.apply(console, arguments); console.log.apply(console, arguments);
} }
expect: { expect: {
console.log('foo'); console.log('foo');
console.log.apply(console, arguments); console.log.apply(console, arguments);
} }
} }
drop_console_2: { drop_console_2: {
options = { drop_console: true }; options = { drop_console: true };
input: { input: {
console.log('foo'); console.log('foo');
console.log.apply(console, arguments); console.log.apply(console, arguments);
} }
expect: { expect: {
// with regular compression these will be stripped out as well // with regular compression these will be stripped out as well
void 0; void 0;
void 0; void 0;
} }
} }