@samitouri / QOS-React / commits / 979fce8b72

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;