Merge pull request #2840 from NoelDeMartin/MOBILE-3320
MOBILE-3320: Fix inappbrowser & regex matcher
This commit is contained in:
		
						commit
						ff61a0ff56
					
				| @ -43,6 +43,7 @@ | |||||||
|     <preference name="android-minSdkVersion" value="22" /> |     <preference name="android-minSdkVersion" value="22" /> | ||||||
|     <preference name="android-targetSdkVersion" value="30" /> |     <preference name="android-targetSdkVersion" value="30" /> | ||||||
|     <preference name="AndroidPersistentFileLocation" value="Compatibility" /> |     <preference name="AndroidPersistentFileLocation" value="Compatibility" /> | ||||||
|  |     <preference name="AndroidInsecureFileModeEnabled" value="true" /> | ||||||
|     <preference name="CustomURLSchemePluginClearsAndroidIntent" value="true" /> |     <preference name="CustomURLSchemePluginClearsAndroidIntent" value="true" /> | ||||||
|     <preference name="iosPersistentFileLocation" value="Compatibility" /> |     <preference name="iosPersistentFileLocation" value="Compatibility" /> | ||||||
|     <preference name="iosScheme" value="moodleappfs" /> |     <preference name="iosScheme" value="moodleappfs" /> | ||||||
|  | |||||||
							
								
								
									
										92
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										92
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -6147,6 +6147,12 @@ | |||||||
|         "isarray": "^1.0.0" |         "isarray": "^1.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "buffer-crc32": { | ||||||
|  |       "version": "0.2.13", | ||||||
|  |       "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", | ||||||
|  |       "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "buffer-equal": { |     "buffer-equal": { | ||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", |       "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", | ||||||
| @ -8071,9 +8077,8 @@ | |||||||
|       "integrity": "sha1-6sMVgQAphJOvowvolA5pj2HvvP4=" |       "integrity": "sha1-6sMVgQAphJOvowvolA5pj2HvvP4=" | ||||||
|     }, |     }, | ||||||
|     "cordova-plugin-inappbrowser": { |     "cordova-plugin-inappbrowser": { | ||||||
|       "version": "5.0.0", |       "version": "git+https://github.com/moodlemobile/cordova-plugin-inappbrowser.git#a1ac936fd79596fd5841bd424cc782ee84e4a290", | ||||||
|       "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-5.0.0.tgz", |       "from": "git+https://github.com/moodlemobile/cordova-plugin-inappbrowser.git#moodle" | ||||||
|       "integrity": "sha512-MqnpmUQ/iy6hxtIGDdlIhy8aNi1pNanLATpbnkk7uCqW9YQ4rH/dGK9zESbZ50pUi2A2D2QMjBXNV175TJK5OQ==" |  | ||||||
|     }, |     }, | ||||||
|     "cordova-plugin-ionic-keyboard": { |     "cordova-plugin-ionic-keyboard": { | ||||||
|       "version": "2.2.0", |       "version": "2.2.0", | ||||||
| @ -10457,6 +10462,15 @@ | |||||||
|         "bser": "2.1.1" |         "bser": "2.1.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "fd-slicer": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", | ||||||
|  |       "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "pend": "~1.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "figgy-pudding": { |     "figgy-pudding": { | ||||||
|       "version": "3.5.2", |       "version": "3.5.2", | ||||||
|       "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", |       "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", | ||||||
| @ -15864,6 +15878,62 @@ | |||||||
|       "dev": true, |       "dev": true, | ||||||
|       "optional": true |       "optional": true | ||||||
|     }, |     }, | ||||||
|  |     "native-run": { | ||||||
|  |       "version": "1.4.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/native-run/-/native-run-1.4.0.tgz", | ||||||
|  |       "integrity": "sha512-3XJiDxGNi6XCsn8KYDQFSYGDVkKEMg0y55qTMU0feEuPNNU4iztBwW5bE87sfybZsQPsYDJQyYt9CUKDSoJgdQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@ionic/utils-fs": "^3.0.0", | ||||||
|  |         "@ionic/utils-terminal": "^2.3.1", | ||||||
|  |         "bplist-parser": "0.2.0", | ||||||
|  |         "debug": "^4.1.1", | ||||||
|  |         "elementtree": "^0.1.7", | ||||||
|  |         "ini": "^1.3.5", | ||||||
|  |         "plist": "^3.0.1", | ||||||
|  |         "split2": "^3.1.0", | ||||||
|  |         "through2": "^4.0.2", | ||||||
|  |         "tslib": "^2.0.1", | ||||||
|  |         "yauzl": "^2.10.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "debug": { | ||||||
|  |           "version": "4.3.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", | ||||||
|  |           "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "ms": "2.1.2" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "ms": { | ||||||
|  |           "version": "2.1.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||||||
|  |           "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", | ||||||
|  |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "readable-stream": { | ||||||
|  |           "version": "3.6.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", | ||||||
|  |           "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "inherits": "^2.0.3", | ||||||
|  |             "string_decoder": "^1.1.1", | ||||||
|  |             "util-deprecate": "^1.0.1" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "through2": { | ||||||
|  |           "version": "4.0.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", | ||||||
|  |           "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "readable-stream": "3" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "natural-compare": { |     "natural-compare": { | ||||||
|       "version": "1.4.0", |       "version": "1.4.0", | ||||||
|       "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", |       "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", | ||||||
| @ -17222,6 +17292,12 @@ | |||||||
|         "sha.js": "^2.4.8" |         "sha.js": "^2.4.8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "pend": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", | ||||||
|  |       "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "performance-now": { |     "performance-now": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", |       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | ||||||
| @ -23969,6 +24045,16 @@ | |||||||
|         "decamelize": "^1.2.0" |         "decamelize": "^1.2.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "yauzl": { | ||||||
|  |       "version": "2.10.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", | ||||||
|  |       "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "buffer-crc32": "~0.2.3", | ||||||
|  |         "fd-slicer": "~1.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "yn": { |     "yn": { | ||||||
|       "version": "3.1.1", |       "version": "3.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", |       "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", | ||||||
|  | |||||||
| @ -96,7 +96,7 @@ | |||||||
|     "cordova-plugin-file-transfer": "git+https://github.com/moodlemobile/cordova-plugin-file-transfer.git", |     "cordova-plugin-file-transfer": "git+https://github.com/moodlemobile/cordova-plugin-file-transfer.git", | ||||||
|     "cordova-plugin-geolocation": "4.1.0", |     "cordova-plugin-geolocation": "4.1.0", | ||||||
|     "cordova-plugin-globalization": "1.11.0", |     "cordova-plugin-globalization": "1.11.0", | ||||||
|     "cordova-plugin-inappbrowser": "5.0.0", |     "cordova-plugin-inappbrowser": "git+https://github.com/moodlemobile/cordova-plugin-inappbrowser.git#moodle", | ||||||
|     "cordova-plugin-ionic-keyboard": "2.2.0", |     "cordova-plugin-ionic-keyboard": "2.2.0", | ||||||
|     "cordova-plugin-ionic-webview": "5.0.0", |     "cordova-plugin-ionic-webview": "5.0.0", | ||||||
|     "cordova-plugin-local-notification": "git+https://github.com/moodlemobile/cordova-plugin-local-notification.git#moodle", |     "cordova-plugin-local-notification": "git+https://github.com/moodlemobile/cordova-plugin-local-notification.git#moodle", | ||||||
| @ -169,6 +169,7 @@ | |||||||
|     "jest": "26.5.2", |     "jest": "26.5.2", | ||||||
|     "jest-preset-angular": "8.3.1", |     "jest-preset-angular": "8.3.1", | ||||||
|     "jsonc-parser": "2.3.1", |     "jsonc-parser": "2.3.1", | ||||||
|  |     "native-run": "^1.4.0", | ||||||
|     "ts-jest": "26.4.1", |     "ts-jest": "26.4.1", | ||||||
|     "ts-node": "8.3.0", |     "ts-node": "8.3.0", | ||||||
|     "typescript": "3.9.9" |     "typescript": "3.9.9" | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ import { UrlSegment, UrlSegmentGroup } from '@angular/router'; | |||||||
| 
 | 
 | ||||||
| import { mock } from '@/testing/utils'; | import { mock } from '@/testing/utils'; | ||||||
| 
 | 
 | ||||||
| import { buildRegExpUrlMatcher } from '../app-routing.module'; | import { buildRegExpUrlMatcher } from './app-routing.module'; | ||||||
| 
 | 
 | ||||||
| describe('Routing utils', () => { | describe('Routing utils', () => { | ||||||
| 
 | 
 | ||||||
| @ -35,6 +35,7 @@ describe('Routing utils', () => { | |||||||
|                 ); |                 ); | ||||||
| 
 | 
 | ||||||
|         testMatcher('baz/foo/bar', null); |         testMatcher('baz/foo/bar', null); | ||||||
|  |         testMatcher('foobar', null); | ||||||
|         testMatcher('foo', ['foo']); |         testMatcher('foo', ['foo']); | ||||||
|         testMatcher('foo/baz', ['foo']); |         testMatcher('foo/baz', ['foo']); | ||||||
|         testMatcher('foo/bar/bar/baz', ['foo', 'bar', 'bar']); |         testMatcher('foo/bar/bar/baz', ['foo', 'bar', 'bar']); | ||||||
| @ -113,14 +113,18 @@ export function buildRegExpUrlMatcher(regexp: RegExp): UrlMatcher { | |||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Consume segments that match.
 |         // Consume segments that match.
 | ||||||
|         const [consumed] = segments.slice(1).reduce(([consumed, path], segment) => path === match |         const [consumedSegments, consumedPath] = segments.slice(1).reduce(([segments, path], segment) => path === match | ||||||
|             ? [consumed, path] |             ? [segments, path] | ||||||
|             : [ |             : [ | ||||||
|                 consumed.concat(segment), |                 segments.concat(segment), | ||||||
|                 `${path}/${segment.path}`, |                 `${path}/${segment.path}`, | ||||||
|             ], [[segments[0]] as UrlSegment[], segments[0].path]); |             ], [[segments[0]] as UrlSegment[], segments[0].path]); | ||||||
| 
 | 
 | ||||||
|         return { consumed }; |         if (consumedPath !== match) { | ||||||
|  |             return null; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         return { consumed: consumedSegments }; | ||||||
|     }; |     }; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user