Skip to content

Commit 74b7d84

Browse files
author
Zhen
committed
Merge branch '1.5' into 1.6
2 parents 66d33d8 + b1c9d50 commit 74b7d84

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

src/v1/internal/server-version.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import {assertString} from './util';
2121

2222
const SERVER_VERSION_REGEX = new RegExp('^(Neo4j/)?(\\d+)\\.(\\d+)(?:\\.)?(\\d*)(\\.|-|\\+)?([0-9A-Za-z-.]*)?$');
23+
const NEO4J_IN_DEV_VERSION_STRING = 'Neo4j/dev';
2324

2425
class ServerVersion {
2526

@@ -48,6 +49,10 @@ class ServerVersion {
4849

4950
assertString(versionStr, 'Neo4j version string');
5051

52+
if (versionStr.toLowerCase() === NEO4J_IN_DEV_VERSION_STRING.toLowerCase()) {
53+
return VERSION_IN_DEV;
54+
}
55+
5156
const version = versionStr.match(SERVER_VERSION_REGEX);
5257
if (!version) {
5358
throw new Error(`Unparsable Neo4j version: ${versionStr}`);
@@ -80,7 +85,7 @@ class ServerVersion {
8085
}
8186

8287
function parseIntStrict(str, name) {
83-
const value = parseInt(str);
88+
const value = parseInt(str, 10);
8489
if (!value && value !== 0) {
8590
throw new Error(`Unparsable number ${name}: '${str}'`);
8691
}
@@ -93,11 +98,13 @@ function compareInts(x, y) {
9398

9499
const VERSION_3_1_0 = new ServerVersion(3, 1, 0);
95100
const VERSION_3_2_0 = new ServerVersion(3, 2, 0);
101+
const VERSION_IN_DEV = new ServerVersion(0, 0, 0);
96102

97103
export {
98104
ServerVersion,
99105
VERSION_3_1_0,
100-
VERSION_3_2_0
106+
VERSION_3_2_0,
107+
VERSION_IN_DEV
101108
};
102109

103110

test/internal/server-version.test.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
* limitations under the License.
1818
*/
1919

20-
import {ServerVersion, VERSION_3_2_0} from '../../src/v1/internal/server-version';
20+
import {ServerVersion, VERSION_3_2_0, VERSION_IN_DEV} from '../../src/v1/internal/server-version';
2121

2222
describe('ServerVersion', () => {
2323

@@ -74,6 +74,10 @@ describe('ServerVersion', () => {
7474
verifyVersion(parse('Neo4j/3.0-RC01'), 3, 0, 0);
7575
verifyVersion(parse('Neo4j/2.3-SNAPSHOT'), 2, 3, 0);
7676
verifyVersion(parse('Neo4j/2.2-M09'), 2, 2, 0);
77+
78+
verifyVersion(parse('Neo4j/dev'), 0, 0, 0);
79+
verifyVersion(parse('Neo4j/DEV'), 0, 0, 0);
80+
verifyVersion(parse('Neo4j/Dev'), 0, 0, 0);
7781
});
7882

7983
it('should compare equal versions', () => {
@@ -105,6 +109,12 @@ describe('ServerVersion', () => {
105109
expect(new ServerVersion(3, 3, 3).compareTo(new ServerVersion(3, 3, 42))).toBeLessThan(0);
106110
});
107111

112+
it('should compare dev version', () => {
113+
expect(new ServerVersion(3, 1, 0).compareTo(VERSION_IN_DEV)).toBeGreaterThan(0);
114+
expect(new ServerVersion(3, 3, 6).compareTo(VERSION_IN_DEV)).toBeGreaterThan(0);
115+
expect(new ServerVersion(2, 3, 0).compareTo(VERSION_IN_DEV)).toBeGreaterThan(0);
116+
});
117+
108118
});
109119

110120
function verifyVersion(serverVersion, expectedMajor, expectedMinor, expectedPatch) {

0 commit comments

Comments
 (0)