feat(isLicensePlate): updated German license plate validation - #1945

Merged
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates
Jul 18, 2022
Merged

feat(isLicensePlate): updated German license plate validation#1945
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates

Conversation

@bennetfabian

Copy link
Copy Markdown
Contributor

In this PR I updated all the available area codes (https://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland) for Germany's license plate validation regex.

Also I decided it will be easier to update and maintain in the future if all area codes are in alphabetical order. There are no performance or speed drawbacks with alphabetical sorting.

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@bennetfabianbennetfabian changed the title Updated German license plate regexfeat(isLicensePlate): updated German license plate validationMar 25, 2022
Forgot to remove the old regex in my last commit
@codecov

codecovBot commented Mar 25, 2022

Copy link
Copy Markdown

Codecov Report

Merging #1945 (290debb) into master (c1b21a9) will not change coverage.
The diff coverage is n/a.

❗ Current head 290debb differs from pull request most recent head 080f7df. Consider uploading reports for the commit 080f7df to get more accurate results

@@ Coverage Diff @@## master #1945 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2085 2085 Branches 472 472 =========================================
Hits 2085 2085 
Impacted FilesCoverage Δ
src/lib/isLicensePlate.js100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c1b21a9...080f7df. Read the comment docs.

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

I'd like kindly ask you to take a look at my change. Only carefully switched out the area code part of the regex so it should be safe to say it isn't breaking anything.
@chriso@profnandaa@ezkemboi@tux-tn

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add tests for the new code as well

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

please add tests for the new code as well

Sorry for disagreeing but exactly why?
I understand the importance of tests but there are already 22 test values supposed to be valid and 5 supposed to be invalid.
Yes, of course, I can think of a few more but especially when comparing to other methods that have less tests I think 22 valid & 5 invalid is more than solid enough.

So why should there be more?
The format remains the same as my PR doesn't even touch the format and structure validation but only updates the available area/district codes.

———

But thanks for commenting. I had another look at the regex and there is one obsolete | operator. Will fix in the next hour.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

Yeah thats the reason :)

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

@ezkemboi Could you merge please?

@rubiin
rubiin merged commit eaca48e into validatorjs:masterJul 18, 2022
@rubiin

Copy link
Copy Markdown
Member

Thankyou for the contribution 🎉

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bennetfabian@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat(isLicensePlate): updated German license plate validation - #1945

Merged
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates
Jul 18, 2022
Merged

feat(isLicensePlate): updated German license plate validation#1945
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates

Conversation

@bennetfabian

Copy link
Copy Markdown
Contributor

In this PR I updated all the available area codes (https://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland) for Germany's license plate validation regex.

Also I decided it will be easier to update and maintain in the future if all area codes are in alphabetical order. There are no performance or speed drawbacks with alphabetical sorting.

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@bennetfabianbennetfabian changed the title Updated German license plate regexfeat(isLicensePlate): updated German license plate validationMar 25, 2022
Forgot to remove the old regex in my last commit
@codecov

codecovBot commented Mar 25, 2022

Copy link
Copy Markdown

Codecov Report

Merging #1945 (290debb) into master (c1b21a9) will not change coverage.
The diff coverage is n/a.

❗ Current head 290debb differs from pull request most recent head 080f7df. Consider uploading reports for the commit 080f7df to get more accurate results

@@ Coverage Diff @@## master #1945 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2085 2085 Branches 472 472 =========================================
Hits 2085 2085 
Impacted FilesCoverage Δ
src/lib/isLicensePlate.js100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c1b21a9...080f7df. Read the comment docs.

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

I'd like kindly ask you to take a look at my change. Only carefully switched out the area code part of the regex so it should be safe to say it isn't breaking anything.
@chriso@profnandaa@ezkemboi@tux-tn

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add tests for the new code as well

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

please add tests for the new code as well

Sorry for disagreeing but exactly why?
I understand the importance of tests but there are already 22 test values supposed to be valid and 5 supposed to be invalid.
Yes, of course, I can think of a few more but especially when comparing to other methods that have less tests I think 22 valid & 5 invalid is more than solid enough.

So why should there be more?
The format remains the same as my PR doesn't even touch the format and structure validation but only updates the available area/district codes.

———

But thanks for commenting. I had another look at the regex and there is one obsolete | operator. Will fix in the next hour.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

Yeah thats the reason :)

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

@ezkemboi Could you merge please?

@rubiin
rubiin merged commit eaca48e into validatorjs:masterJul 18, 2022
@rubiin

Copy link
Copy Markdown
Member

Thankyou for the contribution 🎉

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bennetfabian@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(isLicensePlate): updated German license plate validation - #1945

Merged
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates
Jul 18, 2022
Merged

feat(isLicensePlate): updated German license plate validation#1945
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates

Conversation

@bennetfabian

Copy link
Copy Markdown
Contributor

In this PR I updated all the available area codes (https://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland) for Germany's license plate validation regex.

Also I decided it will be easier to update and maintain in the future if all area codes are in alphabetical order. There are no performance or speed drawbacks with alphabetical sorting.

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@bennetfabianbennetfabian changed the title Updated German license plate regexfeat(isLicensePlate): updated German license plate validationMar 25, 2022
Forgot to remove the old regex in my last commit
@codecov

codecovBot commented Mar 25, 2022

Copy link
Copy Markdown

Codecov Report

Merging #1945 (290debb) into master (c1b21a9) will not change coverage.
The diff coverage is n/a.

❗ Current head 290debb differs from pull request most recent head 080f7df. Consider uploading reports for the commit 080f7df to get more accurate results

@@ Coverage Diff @@## master #1945 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2085 2085 Branches 472 472 =========================================
Hits 2085 2085 
Impacted FilesCoverage Δ
src/lib/isLicensePlate.js100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c1b21a9...080f7df. Read the comment docs.

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

I'd like kindly ask you to take a look at my change. Only carefully switched out the area code part of the regex so it should be safe to say it isn't breaking anything.
@chriso@profnandaa@ezkemboi@tux-tn

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add tests for the new code as well

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

please add tests for the new code as well

Sorry for disagreeing but exactly why?
I understand the importance of tests but there are already 22 test values supposed to be valid and 5 supposed to be invalid.
Yes, of course, I can think of a few more but especially when comparing to other methods that have less tests I think 22 valid & 5 invalid is more than solid enough.

So why should there be more?
The format remains the same as my PR doesn't even touch the format and structure validation but only updates the available area/district codes.

———

But thanks for commenting. I had another look at the regex and there is one obsolete | operator. Will fix in the next hour.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

Yeah thats the reason :)

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

@ezkemboi Could you merge please?

@rubiin
rubiin merged commit eaca48e into validatorjs:masterJul 18, 2022
@rubiin

Copy link
Copy Markdown
Member

Thankyou for the contribution 🎉

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bennetfabian@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(isLicensePlate): updated German license plate validation - #1945

Merged
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates
Jul 18, 2022
Merged

feat(isLicensePlate): updated German license plate validation#1945
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates

Conversation

@bennetfabian

Copy link
Copy Markdown
Contributor

In this PR I updated all the available area codes (https://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland) for Germany's license plate validation regex.

Also I decided it will be easier to update and maintain in the future if all area codes are in alphabetical order. There are no performance or speed drawbacks with alphabetical sorting.

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@bennetfabianbennetfabian changed the title Updated German license plate regexfeat(isLicensePlate): updated German license plate validationMar 25, 2022
Forgot to remove the old regex in my last commit
@codecov

codecovBot commented Mar 25, 2022

Copy link
Copy Markdown

Codecov Report

Merging #1945 (290debb) into master (c1b21a9) will not change coverage.
The diff coverage is n/a.

❗ Current head 290debb differs from pull request most recent head 080f7df. Consider uploading reports for the commit 080f7df to get more accurate results

@@ Coverage Diff @@## master #1945 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2085 2085 Branches 472 472 =========================================
Hits 2085 2085 
Impacted FilesCoverage Δ
src/lib/isLicensePlate.js100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c1b21a9...080f7df. Read the comment docs.

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

I'd like kindly ask you to take a look at my change. Only carefully switched out the area code part of the regex so it should be safe to say it isn't breaking anything.
@chriso@profnandaa@ezkemboi@tux-tn

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add tests for the new code as well

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

please add tests for the new code as well

Sorry for disagreeing but exactly why?
I understand the importance of tests but there are already 22 test values supposed to be valid and 5 supposed to be invalid.
Yes, of course, I can think of a few more but especially when comparing to other methods that have less tests I think 22 valid & 5 invalid is more than solid enough.

So why should there be more?
The format remains the same as my PR doesn't even touch the format and structure validation but only updates the available area/district codes.

———

But thanks for commenting. I had another look at the regex and there is one obsolete | operator. Will fix in the next hour.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

Yeah thats the reason :)

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

@ezkemboi Could you merge please?

@rubiin
rubiin merged commit eaca48e into validatorjs:masterJul 18, 2022
@rubiin

Copy link
Copy Markdown
Member

Thankyou for the contribution 🎉

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bennetfabian@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat(isLicensePlate): updated German license plate validation - #1945

Merged
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates
Jul 18, 2022
Merged

feat(isLicensePlate): updated German license plate validation#1945
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates

Conversation

@bennetfabian

Copy link
Copy Markdown
Contributor

In this PR I updated all the available area codes (https://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland) for Germany's license plate validation regex.

Also I decided it will be easier to update and maintain in the future if all area codes are in alphabetical order. There are no performance or speed drawbacks with alphabetical sorting.

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@bennetfabianbennetfabian changed the title Updated German license plate regexfeat(isLicensePlate): updated German license plate validationMar 25, 2022
Forgot to remove the old regex in my last commit
@codecov

codecovBot commented Mar 25, 2022

Copy link
Copy Markdown

Codecov Report

Merging #1945 (290debb) into master (c1b21a9) will not change coverage.
The diff coverage is n/a.

❗ Current head 290debb differs from pull request most recent head 080f7df. Consider uploading reports for the commit 080f7df to get more accurate results

@@ Coverage Diff @@## master #1945 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2085 2085 Branches 472 472 =========================================
Hits 2085 2085 
Impacted FilesCoverage Δ
src/lib/isLicensePlate.js100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c1b21a9...080f7df. Read the comment docs.

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

I'd like kindly ask you to take a look at my change. Only carefully switched out the area code part of the regex so it should be safe to say it isn't breaking anything.
@chriso@profnandaa@ezkemboi@tux-tn

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add tests for the new code as well

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

please add tests for the new code as well

Sorry for disagreeing but exactly why?
I understand the importance of tests but there are already 22 test values supposed to be valid and 5 supposed to be invalid.
Yes, of course, I can think of a few more but especially when comparing to other methods that have less tests I think 22 valid & 5 invalid is more than solid enough.

So why should there be more?
The format remains the same as my PR doesn't even touch the format and structure validation but only updates the available area/district codes.

———

But thanks for commenting. I had another look at the regex and there is one obsolete | operator. Will fix in the next hour.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

Yeah thats the reason :)

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

@ezkemboi Could you merge please?

@rubiin
rubiin merged commit eaca48e into validatorjs:masterJul 18, 2022
@rubiin

Copy link
Copy Markdown
Member

Thankyou for the contribution 🎉

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bennetfabian@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(isLicensePlate): updated German license plate validation - #1945

Merged
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates
Jul 18, 2022
Merged

feat(isLicensePlate): updated German license plate validation#1945
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates

Conversation

@bennetfabian

Copy link
Copy Markdown
Contributor

In this PR I updated all the available area codes (https://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland) for Germany's license plate validation regex.

Also I decided it will be easier to update and maintain in the future if all area codes are in alphabetical order. There are no performance or speed drawbacks with alphabetical sorting.

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@bennetfabianbennetfabian changed the title Updated German license plate regexfeat(isLicensePlate): updated German license plate validationMar 25, 2022
Forgot to remove the old regex in my last commit
@codecov

codecovBot commented Mar 25, 2022

Copy link
Copy Markdown

Codecov Report

Merging #1945 (290debb) into master (c1b21a9) will not change coverage.
The diff coverage is n/a.

❗ Current head 290debb differs from pull request most recent head 080f7df. Consider uploading reports for the commit 080f7df to get more accurate results

@@ Coverage Diff @@## master #1945 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2085 2085 Branches 472 472 =========================================
Hits 2085 2085 
Impacted FilesCoverage Δ
src/lib/isLicensePlate.js100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c1b21a9...080f7df. Read the comment docs.

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

I'd like kindly ask you to take a look at my change. Only carefully switched out the area code part of the regex so it should be safe to say it isn't breaking anything.
@chriso@profnandaa@ezkemboi@tux-tn

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add tests for the new code as well

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

please add tests for the new code as well

Sorry for disagreeing but exactly why?
I understand the importance of tests but there are already 22 test values supposed to be valid and 5 supposed to be invalid.
Yes, of course, I can think of a few more but especially when comparing to other methods that have less tests I think 22 valid & 5 invalid is more than solid enough.

So why should there be more?
The format remains the same as my PR doesn't even touch the format and structure validation but only updates the available area/district codes.

———

But thanks for commenting. I had another look at the regex and there is one obsolete | operator. Will fix in the next hour.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

Yeah thats the reason :)

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

@ezkemboi Could you merge please?

@rubiin
rubiin merged commit eaca48e into validatorjs:masterJul 18, 2022
@rubiin

Copy link
Copy Markdown
Member

Thankyou for the contribution 🎉

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bennetfabian@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(isLicensePlate): updated German license plate validation - #1945

Merged
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates
Jul 18, 2022
Merged

feat(isLicensePlate): updated German license plate validation#1945
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates

Conversation

@bennetfabian

Copy link
Copy Markdown
Contributor

In this PR I updated all the available area codes (https://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland) for Germany's license plate validation regex.

Also I decided it will be easier to update and maintain in the future if all area codes are in alphabetical order. There are no performance or speed drawbacks with alphabetical sorting.

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@bennetfabianbennetfabian changed the title Updated German license plate regexfeat(isLicensePlate): updated German license plate validationMar 25, 2022
Forgot to remove the old regex in my last commit
@codecov

codecovBot commented Mar 25, 2022

Copy link
Copy Markdown

Codecov Report

Merging #1945 (290debb) into master (c1b21a9) will not change coverage.
The diff coverage is n/a.

❗ Current head 290debb differs from pull request most recent head 080f7df. Consider uploading reports for the commit 080f7df to get more accurate results

@@ Coverage Diff @@## master #1945 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2085 2085 Branches 472 472 =========================================
Hits 2085 2085 
Impacted FilesCoverage Δ
src/lib/isLicensePlate.js100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c1b21a9...080f7df. Read the comment docs.

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

I'd like kindly ask you to take a look at my change. Only carefully switched out the area code part of the regex so it should be safe to say it isn't breaking anything.
@chriso@profnandaa@ezkemboi@tux-tn

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add tests for the new code as well

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

please add tests for the new code as well

Sorry for disagreeing but exactly why?
I understand the importance of tests but there are already 22 test values supposed to be valid and 5 supposed to be invalid.
Yes, of course, I can think of a few more but especially when comparing to other methods that have less tests I think 22 valid & 5 invalid is more than solid enough.

So why should there be more?
The format remains the same as my PR doesn't even touch the format and structure validation but only updates the available area/district codes.

———

But thanks for commenting. I had another look at the regex and there is one obsolete | operator. Will fix in the next hour.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

Yeah thats the reason :)

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

@ezkemboi Could you merge please?

@rubiin
rubiin merged commit eaca48e into validatorjs:masterJul 18, 2022
@rubiin

Copy link
Copy Markdown
Member

Thankyou for the contribution 🎉

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bennetfabian@rubiin
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat(isLicensePlate): updated German license plate validation - #1945

Merged
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates
Jul 18, 2022
Merged

feat(isLicensePlate): updated German license plate validation#1945
rubiin merged 4 commits into
validatorjs:masterfrom
bennetfabian:update/de-licenseplates

Conversation

@bennetfabian

Copy link
Copy Markdown
Contributor

In this PR I updated all the available area codes (https://de.wikipedia.org/wiki/Liste_der_Kfz-Kennzeichen_in_Deutschland) for Germany's license plate validation regex.

Also I decided it will be easier to update and maintain in the future if all area codes are in alphabetical order. There are no performance or speed drawbacks with alphabetical sorting.

Checklist

  • PR contains only changes related; no stray files, etc.
  • README updated (where applicable)
  • Tests written (where applicable)

@bennetfabianbennetfabian changed the title Updated German license plate regexfeat(isLicensePlate): updated German license plate validationMar 25, 2022
Forgot to remove the old regex in my last commit
@codecov

codecovBot commented Mar 25, 2022

Copy link
Copy Markdown

Codecov Report

Merging #1945 (290debb) into master (c1b21a9) will not change coverage.
The diff coverage is n/a.

❗ Current head 290debb differs from pull request most recent head 080f7df. Consider uploading reports for the commit 080f7df to get more accurate results

@@ Coverage Diff @@## master #1945 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 102 102 Lines 2085 2085 Branches 472 472 =========================================
Hits 2085 2085 
Impacted FilesCoverage Δ
src/lib/isLicensePlate.js100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c1b21a9...080f7df. Read the comment docs.

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

I'd like kindly ask you to take a look at my change. Only carefully switched out the area code part of the regex so it should be safe to say it isn't breaking anything.
@chriso@profnandaa@ezkemboi@tux-tn

@rubiinrubiin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add tests for the new code as well

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

please add tests for the new code as well

Sorry for disagreeing but exactly why?
I understand the importance of tests but there are already 22 test values supposed to be valid and 5 supposed to be invalid.
Yes, of course, I can think of a few more but especially when comparing to other methods that have less tests I think 22 valid & 5 invalid is more than solid enough.

So why should there be more?
The format remains the same as my PR doesn't even touch the format and structure validation but only updates the available area/district codes.

———

But thanks for commenting. I had another look at the regex and there is one obsolete | operator. Will fix in the next hour.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

@rubiin

Copy link
Copy Markdown
Member

Well the thing is since there is a code update, the new tests would ensure that the change agrees to the final output. Otherwise things would break in future. Also it would help review the code more fatser

Okay, I agree. Better safe than sorry. Will think of a few more tests.

Yeah thats the reason :)

@bennetfabian

Copy link
Copy Markdown
ContributorAuthor

@ezkemboi Could you merge please?

@rubiin
rubiin merged commit eaca48e into validatorjs:masterJul 18, 2022
@rubiin

Copy link
Copy Markdown
Member

Thankyou for the contribution 🎉

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bennetfabian@rubiin