Delete adler32 implementation (#11250)
Dan Abramov committed
Oct 17, 2017 at 14:19 UTC
979fce8b72cd300534a704a621ef0c4fb53bde11
2 files changed
-85
src/renderers/shared/utils/__tests__/adler32-test.js
deleted
-39
@@ -1,39 +0,0 @@
1
-/**
2
- * Copyright (c) 2014-present, Facebook, Inc.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @emails react-core
8
- */
9
-
10
-'use strict';
11
-
12
-var adler32 = require('adler32');
13
-
14
-describe('adler32', () => {
15
- it('generates differing checksums', () => {
16
- expect(adler32('foo')).not.toBe(adler32('bar'));
17
- });
18
-
19
- it('generates consistent checksums', () => {
20
- expect(adler32('linux')).toBe(adler32('linux'));
21
- });
22
-
23
- it('is case sensitive', () => {
24
- expect(adler32('a')).not.toBe(adler32('A'));
25
- });
26
-
27
- it("doesn't barf on large inputs", () => {
28
- var str = '';
29
- for (var i = 0; i < 100000; i++) {
30
- str += 'This will be repeated to be very large indeed. ';
31
- }
32
- expect(adler32(str)).toBe(692898118);
33
- });
34
-
35
- it("doesn't barf on international inputs", () => {
36
- var str = 'Linux 是一個真棒操作系統!';
37
- expect(adler32(str)).toBe(-1183804097);
38
- });
39
-});
src/renderers/shared/utils/adler32.js
deleted
-46
@@ -1,46 +0,0 @@
1
-/**
2
- * Copyright (c) 2013-present, Facebook, Inc.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- * @providesModule adler32
8
- * @flow
9
- */
10
-
11
-'use strict';
12
-
13
-var MOD = 65521;
14
-
15
-// adler32 is not cryptographically strong, and is only used to sanity check that
16
-// markup generated on the server matches the markup generated on the client.
17
-// This implementation (a modified version of the SheetJS version) has been optimized
18
-// for our use case, at the expense of conforming to the adler32 specification
19
-// for non-ascii inputs.
20
-function adler32(data: string): number {
21
- var a = 1;
22
- var b = 0;
23
- var i = 0;
24
- var l = data.length;
25
- var m = l & ~0x3;
26
- while (i < m) {
27
- var n = Math.min(i + 4096, m);
28
- for (; i < n; i += 4) {
29
- b +=
30
- (a += data.charCodeAt(i)) +
31
- (a += data.charCodeAt(i + 1)) +
32
- (a += data.charCodeAt(i + 2)) +
33
- (a += data.charCodeAt(i + 3));
34
- }
35
- a %= MOD;
36
- b %= MOD;
37
- }
38
- for (; i < l; i++) {
39
- b += a += data.charCodeAt(i);
40
- }
41
- a %= MOD;
42
- b %= MOD;
43
- return a | (b << 16);
44
-}
45
-
46
-module.exports = adler32;