{"id":1179,"date":"2026-06-02T06:15:20","date_gmt":"2026-06-02T06:15:20","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-ket-2-test-4-listening\/"},"modified":"2026-07-05T02:44:40","modified_gmt":"2026-07-05T02:44:40","slug":"cambridge-ket-2-test-4-listening","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-ket-2-test-4-listening\/","title":{"rendered":"KET 2 \u2014 Test 4 Listening"},"content":{"rendered":"\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,700&display=swap');\n\n.entry-content,.wp-block-post-content,.is-layout-constrained{max-width:none !important;width:auto !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;}\n.wp-block-post-title{display:none !important;}\n\n:root{\n  --accent-1:#F97316; --accent-2:#F43F5E; --purple:#8B5CF6;\n  --gold:#F9C74F; --green:#10B981; --red:#EF4444;\n  --light-1:#FFF7ED; --light-2:#FFFBF5; --white:#FFFFFF;\n  --text:#0F172A; --muted:#475569; --subtle:#64748B; --border:#E2E8F0;\n  --dark-1:#1B0F02;\n  --r-10:10px; --r-16:16px; --r-22:22px;\n  --sh-card:0 2px 8px rgba(0,0,0,.06); --sh-lg:0 12px 40px rgba(0,0,0,.12);\n}\n*{margin:0;padding:0;box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--text);background:var(--light-2);-webkit-font-smoothing:antialiased;overflow-x:hidden}\n.serif{font-family:'Fraunces',Georgia,serif;font-weight:700;letter-spacing:-.01em}\n.wrap{max-width:1080px;margin:0 auto;padding:0 24px}\na{color:inherit;text-decoration:none}\nbutton{font-family:inherit;cursor:pointer;border:none;background:none}\n\n.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .28s ease;border-bottom:1px solid transparent}\n.header.solid{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border)}\n.header-inner{display:flex;align-items:center;gap:28px;height:72px;max-width:1200px;margin:0 auto;padding:0 24px}\n.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}\n.brand img{width:40px;height:40px;border-radius:11px;object-fit:cover;box-shadow:var(--sh-card)}\n.brand-name{font-weight:800;font-size:18px;color:#fff;transition:color .28s ease}\n.header.solid .brand-name{color:var(--text)}\n.nav{display:flex;align-items:center;gap:4px;margin-left:8px}\n.nav a{padding:9px 13px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.82);border-radius:var(--r-10);transition:all .16s ease}\n.nav a:hover{color:#fff;background:rgba(255,255,255,.08)}\n.header.solid .nav a{color:var(--muted)}\n.header.solid .nav a:hover{color:var(--text);background:var(--light-1)}\n.header-right{margin-left:auto;display:flex;align-items:center;gap:10px}\n.btn-back{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;font-weight:700;font-size:14px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22)}\n.header.solid .btn-back{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.hamburger{display:none;width:40px;height:40px;border-radius:50%;color:#fff;align-items:center;justify-content:center}\n.header.solid .hamburger{color:var(--text)}\n\n.hero{position:relative;min-height:300px;padding:110px 0 40px;background:linear-gradient(135deg,#8B5CF6 0%,#F43F5E 55%,#7C2D12 100%);color:#fff;overflow:hidden}\n.hero::before{content:\"\";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.10) 0%,transparent 50%);pointer-events:none}\n.hero .wrap{position:relative;z-index:1}\n.kicker{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;opacity:.92;margin-bottom:14px}\n.hero h1{font-size:clamp(32px,5vw,48px);line-height:1.05;margin-bottom:14px}\n.hero h1 span{font-style:italic;color:var(--gold)}\n.hero p.sub{font-size:16px;line-height:1.6;max-width:680px;opacity:.95;margin-bottom:18px}\n.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}\n.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.24);font-size:13px;font-weight:600}\n.meta-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}\n\n.player-bar{position:sticky;top:72px;z-index:50;background:#0F172A;color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.2)}\n.player-inner{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:center;padding:14px 24px;max-width:1200px;margin:0 auto}\n.player-vid{aspect-ratio:16\/9;background:#000;border-radius:10px;overflow:hidden;width:340px;min-height:191px}\n.player-vid iframe{width:100%;height:100%;border:0;display:block}\n.player-controls h4{font-family:'Fraunces',serif;font-size:18px;margin-bottom:4px}\n.player-controls .pc-sub{font-size:13px;opacity:.75;margin-bottom:12px}\n.part-jumps{display:flex;flex-wrap:wrap;gap:8px}\n.jump-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-weight:600;font-size:13px;border:1px solid rgba(255,255,255,.2);transition:all .15s ease;cursor:pointer}\n.jump-btn:hover{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));border-color:transparent;transform:translateY(-1px)}\n.jump-btn .jt{font-weight:800;color:var(--gold);font-size:12px}\n.jump-btn.active{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));border-color:transparent}\n.player-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}\n.player-actions .ctrl-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:12px;font-weight:600;border:1px solid rgba(255,255,255,.14);cursor:pointer}\n.player-actions .ctrl-btn:hover{background:rgba(255,255,255,.18)}\n\n\/* Mini progress chip (top of page, small) *\/\n.mini-prog{position:sticky;top:262px;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:8px 0}\n.mini-prog-inner{display:flex;align-items:center;gap:14px}\n.mini-prog-bar{flex:1;height:6px;background:var(--light-1);border-radius:999px;overflow:hidden}\n.mini-prog-fill{height:100%;background:linear-gradient(90deg,var(--accent-1),var(--accent-2));border-radius:999px;transition:width .3s ease;width:0}\n.mini-prog-label{font-size:12px;color:var(--muted);font-weight:700;min-width:120px}\n.mini-prog-score{font-weight:800;color:var(--accent-1);font-size:14px;min-width:80px}\n\n.part-section{padding:48px 0;border-bottom:1px solid var(--border)}\n.part-section:nth-of-type(even){background:#fff}\n.part-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}\n.part-num{flex-shrink:0;width:60px;height:60px;border-radius:18px;background:linear-gradient(135deg,var(--accent-1),var(--accent-2));color:#fff;display:grid;place-items:center;font-family:'Fraunces',serif;font-weight:700;font-size:26px;box-shadow:0 8px 22px rgba(249,115,22,.3)}\n.part-head-text h2{font-size:26px;line-height:1.15;margin-bottom:6px}\n.part-head-text .qrange{display:inline-block;font-size:12.5px;font-weight:700;color:var(--accent-1);background:var(--light-1);padding:4px 10px;border-radius:999px;letter-spacing:.04em;margin-bottom:8px}\n.part-head-text p{color:var(--muted);font-size:15px;line-height:1.55;max-width:740px}\n.part-actions{display:flex;gap:10px;margin:0 0 16px 78px;flex-wrap:wrap}\n.act-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:#fff;border:1.5px solid var(--border);font-weight:600;font-size:13px;color:var(--text);cursor:pointer;transition:all .15s ease}\n.act-pill:hover{border-color:var(--accent-1);color:var(--accent-1)}\n\n\/* Question items *\/\n.q-list{display:flex;flex-direction:column;gap:18px;margin-top:8px}\n.q-item{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;transition:all .2s ease;scroll-margin-top:330px}\n.q-item.correct{border-color:var(--green);box-shadow:0 0 0 3px rgba(16,185,129,.12)}\n.q-item.wrong{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,68,68,.12)}\n.q-item.revealed{background:linear-gradient(180deg,#FEF3C7 0%,#FFFBF5 100%);border-color:var(--gold)}\n.q-text{font-size:15.5px;line-height:1.55;color:var(--text);display:flex;gap:10px;align-items:flex-start}\n.q-text b.qn{color:var(--accent-1);font-weight:800;min-width:30px}\n.q-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}\n.opt{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:12px;background:#F8FAFF;border:1.5px solid var(--border);font-weight:600;font-size:14px;color:var(--text);cursor:pointer;transition:all .15s ease;user-select:none}\n.opt:hover{background:var(--light-1);border-color:var(--accent-1)}\n.opt input{display:none}\n.opt .opt-letter{font-weight:800;color:var(--accent-1);background:#fff;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:12.5px;border:1px solid var(--border);flex-shrink:0}\n.opt.selected{background:linear-gradient(100deg,rgba(249,115,22,.12),rgba(244,63,94,.12));border-color:var(--accent-1)}\n.opt.selected .opt-letter{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.opt.correct-opt{background:rgba(16,185,129,.12) !important;border-color:var(--green) !important}\n.opt.correct-opt .opt-letter{background:var(--green) !important;color:#fff !important;border-color:transparent !important}\n.opt.wrong-opt{background:rgba(239,68,68,.10) !important;border-color:var(--red) !important}\n.opt.wrong-opt .opt-letter{background:var(--red) !important;color:#fff !important;border-color:transparent !important}\n.feedback{font-size:13px;font-weight:600;display:none;padding:8px 12px;border-radius:8px;margin-top:4px}\n.q-item.answered .feedback,.q-item.revealed .feedback{display:block}\n.q-item.correct .feedback{background:rgba(16,185,129,.12);color:#065F46}\n.q-item.wrong .feedback{background:rgba(239,68,68,.10);color:#991B1B}\n.q-item.revealed .feedback{background:#FEF3C7;color:#7B5B00;border-left:3px solid var(--gold);padding-left:10px}\n\n\/* Show answer button per question *\/\n.q-bottom{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}\n.show-ans-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;background:#FEF3C7;color:#7B5B00;font-weight:700;font-size:12px;border:1px solid #E8D88E;cursor:pointer;transition:all .15s ease}\n.show-ans-btn:hover{background:#FDE68A;transform:translateY(-1px)}\n\n\/* Image MCQ (Part 1) *\/\n.q-img-row{margin:8px 0;display:flex;justify-content:center}\n.q-img-row img{max-width:100%;height:auto;border:1px solid var(--border);border-radius:12px;background:#fff;padding:8px}\n\n\/* Part 2 matching *\/\n.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:18px 0}\n.match-letter{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1.5px solid var(--border);border-radius:12px;font-size:14px;font-weight:600;color:var(--text)}\n.match-letter b{color:var(--accent-1);background:var(--light-1);width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;font-weight:800}\n\n\/* Input blanks *\/\n.input-blank{display:inline-block;min-width:140px;border:none;border-bottom:2px dashed var(--accent-1);background:transparent;font-family:inherit;font-size:15.5px;color:var(--text);font-weight:600;padding:2px 8px;margin:0 4px;text-align:center;outline:none}\n.input-blank:focus{border-bottom-style:solid;background:var(--light-1)}\n.input-blank.correct{border-bottom-color:var(--green);color:#065F46;background:rgba(16,185,129,.10)}\n.input-blank.wrong{border-bottom-color:var(--red);color:#991B1B;background:rgba(239,68,68,.08)}\n.input-blank.revealed{border-bottom-color:var(--gold);background:#FEF3C7;color:#7B5B00}\n\n\/* Notes form *\/\n.form-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-top:14px;max-width:640px}\n.form-card h4{font-family:'Fraunces',serif;font-size:18px;color:var(--accent-2);margin-bottom:6px;border-bottom:2px solid var(--accent-1);padding-bottom:8px;display:inline-block;width:100%;text-align:center}\n.form-row{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}\n.form-row label{flex:0 0 220px;font-weight:600;color:var(--text);font-size:14.5px}\n.form-row .input-blank{flex:1;min-width:200px;text-align:left;font-size:14.5px}\n.form-row .show-ans-btn{flex-shrink:0;margin-left:auto}\n\n\/* Transcript *\/\n.transcript-card{margin-top:18px;background:#FAFBFC;border:1.5px solid var(--border);border-radius:14px;padding:0;overflow:hidden;max-width:840px}\n.transcript-card.collapsed .ts-body{display:none}\n.transcript-card .ts-head{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#fff;cursor:pointer;font-weight:700;font-size:14px;color:var(--accent-2);border-bottom:1px solid var(--border)}\n.transcript-card.collapsed .ts-head{border-bottom:none}\n.transcript-card .ts-head .chev{transition:transform .2s ease}\n.transcript-card.collapsed .ts-head .chev{transform:rotate(-90deg)}\n.transcript-card .ts-body{padding:16px 22px;font-size:14.5px;line-height:1.75;color:var(--text);max-height:380px;overflow-y:auto;background:#FAFBFC;font-family:'Courier New',monospace}\n.transcript-card .ts-body b{color:var(--accent-2);font-family:'Plus Jakarta Sans',sans-serif}\n.transcript-card .ts-body i{color:var(--muted);font-size:12.5px}\n\n\/* Notes pad *\/\n.notes-pad{background:#FEF9E7;border:1.5px solid var(--gold);border-radius:14px;padding:14px 18px;margin-top:14px;max-width:640px}\n.notes-pad label{display:block;font-weight:700;font-size:13px;color:#7B5B00;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}\n.notes-pad textarea{width:100%;min-height:80px;padding:10px;font-family:inherit;font-size:14px;line-height:1.5;border:1px solid #E8D88E;border-radius:8px;background:rgba(255,255,255,.7);color:var(--text);outline:none;resize:vertical}\n.notes-pad textarea:focus{border-color:var(--accent-1);background:#fff}\n\n\/* Submit panel at END *\/\n.submit-panel{margin:40px auto 24px;background:linear-gradient(135deg,#8B5CF6 0%,#F43F5E 100%);color:#fff;padding:30px;border-radius:22px;text-align:center;max-width:720px;box-shadow:0 16px 50px rgba(139,92,246,.3)}\n.submit-panel h3{font-family:'Fraunces',serif;font-size:24px;margin-bottom:8px}\n.submit-panel p.intro{opacity:.95;margin-bottom:18px;font-size:14.5px}\n.submit-panel .sp-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}\n.btn-submit-big{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;background:#fff;color:var(--accent-2);font-weight:800;font-size:16px;box-shadow:0 8px 24px rgba(0,0,0,.2);cursor:pointer;transition:transform .15s ease}\n.btn-submit-big:hover{transform:translateY(-2px)}\n.btn-reset-big{padding:14px 24px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-weight:700;font-size:14.5px;border:1px solid rgba(255,255,255,.4);cursor:pointer}\n.btn-reset-big:hover{background:rgba(255,255,255,.3)}\n\n\/* Results banner *\/\n.results-banner{display:none;margin:24px auto;padding:30px;border-radius:22px;background:#fff;color:var(--text);text-align:center;max-width:720px;box-shadow:var(--sh-lg);border:2px solid var(--accent-1)}\n.results-banner.show{display:block}\n.results-banner h3{font-size:28px;font-family:'Fraunces',serif;margin-bottom:8px;color:var(--accent-2)}\n.results-banner .score-big{font-size:60px;font-weight:800;line-height:1;margin:14px 0;font-family:'Fraunces',serif;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}\n.results-banner p{font-size:15px;color:var(--muted)}\n.score-parts{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:16px;background:var(--light-1);padding:12px;border-radius:12px}\n.score-parts .sp-item{text-align:center;font-size:12px;font-weight:600;color:var(--text)}\n.score-parts .sp-item b{display:block;font-size:18px;font-family:'Fraunces',serif;margin-bottom:2px;color:var(--accent-1)}\n\n.footer{background:var(--dark-1);color:#9CA3AF;padding:36px 0;text-align:center;font-size:13.5px}\n.footer a{color:var(--gold);font-weight:600}\n\n@media (max-width:880px){\n  .nav{display:none}\n  .hamburger{display:flex}\n  .player-inner{grid-template-columns:1fr;padding:12px 18px}\n  .player-vid{width:100%;min-height:0}\n  .hero{padding:110px 0 30px}\n  .part-actions{margin-left:0}\n  .form-row label{flex:1 1 100%}\n  .form-row .input-blank{width:100%}\n  .mini-prog{top:auto;position:relative}\n  .part-head{flex-direction:column;gap:10px}\n  .part-num{width:50px;height:50px;font-size:22px}\n  .score-parts{grid-template-columns:repeat(5,1fr);font-size:10px}\n  .score-parts .sp-item b{font-size:14px}\n}\n\n.drawer{position:fixed;inset:0;background:rgba(15,23,42,.65);z-index:200;display:none;align-items:flex-start;justify-content:flex-end}\n.drawer.open{display:flex}\n.drawer-panel{width:280px;background:#fff;height:100%;padding:24px;display:flex;flex-direction:column;gap:8px}\n.drawer-panel a{padding:12px 14px;border-radius:10px;font-weight:600;color:var(--text)}\n.drawer-panel a:hover{background:var(--light-1)}\n.drawer-close{align-self:flex-end;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}\n<\/style>\n\n<header class=\"header\" id=\"hdr\">\n  <div class=\"header-inner\">\n    <a href=\"https:\/\/allenglish4u.com\" class=\"brand\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/04\/Transparent-background-MacBook-Pro-cua-Hang.png\" alt=\"AE4U\">\n      <span class=\"brand-name\">All English 4U<\/span>\n    <\/a>\n    <nav class=\"nav\">\n      <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"active\">Cambridge<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n      <\/nav>\n    <div class=\"header-right\">\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"btn-back\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M19 12H5M11 18l-6-6 6-6\"\/><\/svg>\n        Back\n      <\/a>\n      <button class=\"hamburger\" id=\"hamb\" aria-label=\"Menu\">\n        <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M3 6h18M3 12h18M3 18h18\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n<\/header>\n\n<div class=\"drawer\" id=\"drawer\">\n  <div class=\"drawer-panel\">\n    <button class=\"drawer-close\" id=\"drawerClose\" aria-label=\"Close\">\n      <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M18 6L6 18M6 6l12 12\"\/><\/svg>\n    <\/button>\n    <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">Cambridge<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n    <\/div>\n<\/div>\n\n<section class=\"hero\">\n  <div class=\"wrap\">\n    <span class=\"kicker\">Cambridge English &#183; Key (KET)<\/span>\n    <h1 class=\"serif\">KET 2 &#8212; Test 4 <span>Listening<\/span><\/h1>\n    <p class=\"sub\">KET 2 Test 4 Listening &#8212; 5 parts, 25 questions. YouTube audio with jump-to-part buttons. Each question has its own <b>Show Answer<\/b> button + bottom submit panel for instant grading.<\/p>\n    <div class=\"hero-meta\">\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>~30 minutes<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>5 Parts &#183; 25 Questions<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>Auto-grade + Show Answer<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>Transcript &amp; Notes<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<div class=\"player-bar\" id=\"playerBar\">\n  <div class=\"player-inner\">\n    <div class=\"player-vid\">\n      <iframe id=\"ytPlayer\" src=\"https:\/\/www.youtube.com\/embed\/DErZE62r6WY?enablejsapi=1&#038;list=PLmmEx97WdP1QQUqxSoEdjUE1gVdxqE8Ce&#038;rel=0\" title=\"KET 2 Test 1 Listening\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n    <\/div>\n    <div class=\"player-controls\">\n      <h4>&#127911; Audio &#8212; KET 2 Listening Test 4<\/h4>\n      <div class=\"pc-sub\">Click a part to jump in audio. Submit panel is at the bottom of this page.<\/div>\n      <div class=\"part-jumps\">\n        <button class=\"jump-btn\" data-time=\"7\" data-part=\"intro\"><span class=\"jt\">0:07<\/span> Intro<\/button>\n        <button class=\"jump-btn\" data-time=\"27\" data-part=\"1\"><span class=\"jt\">0:27<\/span> Part 1<\/button>\n        <button class=\"jump-btn\" data-time=\"364\" data-part=\"2\"><span class=\"jt\">6:04<\/span> Part 2<\/button>\n        <button class=\"jump-btn\" data-time=\"563\" data-part=\"3\"><span class=\"jt\">9:23<\/span> Part 3<\/button>\n        <button class=\"jump-btn\" data-time=\"805\" data-part=\"4\"><span class=\"jt\">13:25<\/span> Part 4<\/button>\n        <button class=\"jump-btn\" data-time=\"1017\" data-part=\"5\"><span class=\"jt\">16:57<\/span> Part 5<\/button>\n      <\/div>\n      <div class=\"player-actions\">\n        <button class=\"ctrl-btn\" id=\"btnPause\">&#9208; Pause<\/button>\n        <button class=\"ctrl-btn\" id=\"btnPlay\">&#9654; Play<\/button>\n        <button class=\"ctrl-btn\" id=\"btnRewind\">&#9194; -10s<\/button>\n        <button class=\"ctrl-btn\" id=\"btnSlower\">&#128034; Slower<\/button>\n        <button class=\"ctrl-btn\" id=\"btnNormal\">&#9889; Normal<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<div class=\"mini-prog\" id=\"miniProg\">\n  <div class=\"wrap mini-prog-inner\">\n    <div class=\"mini-prog-score\">Score <span id=\"scoreNow\">0<\/span>\/25<\/div>\n    <div class=\"mini-prog-bar\"><div class=\"mini-prog-fill\" id=\"progFill\"><\/div><\/div>\n    <div class=\"mini-prog-label\"><span id=\"answeredCount\">0<\/span> of 25 answered<\/div>\n  <\/div>\n<\/div>\n\n<!-- PART 1 -->\n<section class=\"part-section\" id=\"part1\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">1<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 1&#8211;5 &#183; 0:27 in audio<\/span>\n        <h2 class=\"serif\">Five short conversations<\/h2>\n        <p>You will hear five short conversations. For questions 1&#8211;5, choose the right answer (A, B or C). Each conversation is played twice.<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"part-actions\">\n      <button class=\"act-pill\" data-time=\"27\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg> Replay Part 1<\/button>\n      <button class=\"act-pill ts-toggle\" data-target=\"ts1\">&#128220; Transcript<\/button>\n    <\/div>\n    <div class=\"q-list\" id=\"part1List\"><\/div>\n\n    <div class=\"transcript-card collapsed\" id=\"ts1\">\n      <div class=\"ts-head\" data-toggle=\"ts1\"><span>&#128220; Part 1 transcript<\/span><span class=\"chev\">&#9662;<\/span><\/div>\n      <div class=\"ts-body\">\n<p><b>Q1 &#8212; Weather on Wednesday<\/b> &#183; Man: What was the weather like when you were on holiday? Woman: Fine; it was sunny every day until Wednesday. Man: Really? What happened then? Woman: Well, it was <b>sunny in the morning, but it rained in the afternoon<\/b>. (= B)<\/p>\n<p><b>Q2 &#8212; Mark&#8217;s pullover<\/b> &#183; Woman: That&#8217;s a nice pullover, Mark &#8212; was it expensive? Mark: Mmm. <b>Fourteen pounds ninety-nine<\/b>. Woman: Oh, that&#8217;s not bad. Mark: No, and I do like blue. (= A &#163;14.99)<\/p>\n<p><b>Q3 &#8212; Raquel&#8217;s shopping<\/b> &#183; Tina: Hi, Raquel. You&#8217;re looking well. New skirt? Raquel: Thanks Tina. No, I&#8217;ve had this skirt for a long time. <b>I bought these boots this morning<\/b>. Do you like them? Tina: Yes, very nice. They look good with that jacket. (= C boots)<\/p>\n<p><b>Q4 &#8212; Students at college<\/b> &#183; Girl: How many students are there at your college? Boy: Oh, there&#8217;s lots. It&#8217;s quite a big college. Girl: More than three hundred? Boy: Oh yes, more than twice that. <b>About seven hundred and fifty<\/b>, I think. (= C 750)<\/p>\n<p><b>Q5 &#8212; David&#8217;s present for Rachel<\/b> &#183; Woman: Hi, David. What are you looking for? David: I don&#8217;t know what to buy for Rachel&#8217;s birthday. Woman: Well, <b>I&#8217;ve bought her a CD, so why don&#8217;t you get her a book?<\/b> David: Yes, that&#8217;s a good idea &#8212; I will. (= A a book)<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- PART 2 -->\n<section class=\"part-section\" id=\"part2\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">2<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 6&#8211;10 &#183; 6:04 in audio<\/span>\n        <h2 class=\"serif\">Simon&#8217;s weekend &#8212; Saturday &amp; Sunday plans<\/h2>\n        <p>Listen to Philip talking to his mother about his son, Simon. What is Simon going to do on Saturday and Sunday? For each time of day (6&#8211;10), choose a letter A&#8211;H. <b>Example<\/b> (Saturday morning): <b>C &#8212; judo class<\/b>.<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"part-actions\">\n      <button class=\"act-pill\" data-time=\"364\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg> Replay Part 2<\/button>\n      <button class=\"act-pill ts-toggle\" data-target=\"ts2\">&#128220; Transcript<\/button>\n    <\/div>\n\n    <div class=\"match-grid\">\n      <div class=\"match-letter\"><b>A<\/b> bicycle ride<\/div>\n      <div class=\"match-letter\"><b>B<\/b> football match<\/div>\n      <div class=\"match-letter\"><b>C<\/b> judo class <i style=\"color:#888;font-style:normal;font-size:11px;font-weight:500\">(example: Sat morning)<\/i><\/div>\n      <div class=\"match-letter\"><b>D<\/b> party<\/div>\n      <div class=\"match-letter\"><b>E<\/b> swimming<\/div>\n      <div class=\"match-letter\"><b>F<\/b> the cinema<\/div>\n      <div class=\"match-letter\"><b>G<\/b> the park<\/div>\n      <div class=\"match-letter\"><b>H<\/b> watching television<\/div>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part2List\"><\/div>\n\n    <div class=\"transcript-card collapsed\" id=\"ts2\">\n      <div class=\"ts-head\" data-toggle=\"ts2\"><span>&#128220; Part 2 transcript<\/span><span class=\"chev\">&#9662;<\/span><\/div>\n      <div class=\"ts-body\">\n<p>Philip: Well, Mum, thanks for having Simon to stay for a couple of days.<br>\nMother: That&#8217;s OK, Philip. What have I got to do?<br>\nPhilip: Well, Saturday&#8217;s busy. In the morning he&#8217;s got his <b>judo class<\/b> (example = C).<br>\nMother: Right, and in the afternoon he&#8217;s going to a birthday party, isn&#8217;t he?<br>\nPhilip: No, that&#8217;s in the evening. He&#8217;s going to the <b>football match in the afternoon<\/b>, remember? (Q6 Sat afternoon = B football match)<br>\nMother: Oh yes, I remember now. So what time does the party start?<br>\nPhilip: At half past seven, but Mrs Carter&#8217;ll bring him home. (Q7 Sat evening = D party)<br>\nMother: Fine. Now on Sunday morning, we can go to the swimming pool on our bikes.<br>\nPhilip: Well, &#8230; he&#8217;s got a cold, so swimming isn&#8217;t a very good idea, but he&#8217;d like <b>a bicycle ride<\/b>. (Q8 Sun morning = A bicycle ride)<br>\nMother: OK. Your father wants to take Simon to <b>the park in the afternoon<\/b>. (Q9 Sun afternoon = G the park)<br>\nPhilip: Fine. And then a quiet evening <b>watching TV<\/b>. (Q10 Sun evening = H watching television)<br>\nMother: What about a trip to the cinema? Philip: No. I think he&#8217;ll be too tired for that. Mother: OK.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- PART 3 -->\n<section class=\"part-section\" id=\"part3\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">3<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 11&#8211;15 &#183; 9:23 in audio<\/span>\n        <h2 class=\"serif\">Chloe&#8217;s sailing holiday<\/h2>\n        <p>Listen to Chloe talking to a man about a sailing holiday. For questions 11&#8211;15, choose A, B or C. <b>Example:<\/b> Chloe wants to go to &#8594; <b>A Italy<\/b>.<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"part-actions\">\n      <button class=\"act-pill\" data-time=\"563\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg> Replay Part 3<\/button>\n      <button class=\"act-pill ts-toggle\" data-target=\"ts3\">&#128220; Transcript<\/button>\n    <\/div>\n    <div class=\"q-list\" id=\"part3List\"><\/div>\n\n    <div class=\"transcript-card collapsed\" id=\"ts3\">\n      <div class=\"ts-head\" data-toggle=\"ts3\"><span>&#128220; Part 3 transcript<\/span><span class=\"chev\">&#9662;<\/span><\/div>\n      <div class=\"ts-body\">\n<p>Man: Hello, can I help you?<br>\nChloe: Yes, I&#8217;d like to go on a sailing holiday this summer in Italy. (example = A Italy)<br>\nMan: Have you been sailing before? Chloe: <b>No. I wanted to go to Sweden last year, but I didn&#8217;t have enough money.<\/b> (Q11 = A never)<br>\nMan: Well, it is quite expensive. Sailing holidays start at about three hundred pounds.<br>\nChloe: Yes, my friends went in August last year. They paid four hundred and fifty pounds each. <b>The most I can pay is three hundred and eighty pounds.<\/b> (Q12 = B &#163;380)<br>\nMan: Well, that should be enough.<br>\nChloe: When&#8217;s the cheapest time to go? Man: Well, August is the most expensive month. September and October are cheaper.<br>\nChloe: <b>October&#8217;s too late for me, so I&#8217;ll go in September.<\/b> (Q13 = B September)<br>\nMan: Would you like to be by the sea or a lake? Chloe: <b>Well, I prefer a lake in the mountains.<\/b> (Q14 = A a lake)<br>\nMan: OK. The Aqua Centre in north Italy will be best for you. That costs &#163;370. Chloe: OK. <b>Can I pay by credit card? I haven&#8217;t got my cheque book.<\/b> Man: Yes, that&#8217;s fine. (Q15 = C by credit card)<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- PART 4 -->\n<section class=\"part-section\" id=\"part4\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">4<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 16&#8211;20 &#183; 13:25 in audio<\/span>\n        <h2 class=\"serif\">Kate&#8217;s Birthday Party &#8212; invitation<\/h2>\n        <p>You will hear Kate and Jeremy talking about a party. Listen and complete the invitation card (16&#8211;20). You will hear the conversation twice.<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"part-actions\">\n      <button class=\"act-pill\" data-time=\"805\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg> Replay Part 4<\/button>\n      <button class=\"act-pill ts-toggle\" data-target=\"ts4\">&#128220; Transcript<\/button>\n    <\/div>\n\n    <div class=\"form-card\">\n      <h4>&#127874; KATE&#8217;S BIRTHDAY PARTY<\/h4>\n      <div class=\"form-row\"><label>Kate will be:<\/label><span style=\"font-weight:600\">17 years old<\/span><\/div>\n      <div class=\"form-row\"><label><b>16.<\/b> Day:<\/label><input class=\"input-blank\" data-q=\"16\" type=\"text\" placeholder=\"day of week\"><button class=\"show-ans-btn\" data-show=\"16\">&#128065; Show<\/button><\/div>\n      <div class=\"form-row\"><label><b>17.<\/b> Time:<\/label><input class=\"input-blank\" data-q=\"17\" type=\"text\" placeholder=\"e.g. 8.30\"><button class=\"show-ans-btn\" data-show=\"17\">&#128065; Show<\/button><\/div>\n      <div class=\"form-row\"><label><b>18.<\/b> Place:<\/label><input class=\"input-blank\" data-q=\"18\" type=\"text\" placeholder=\"hotel name\"><button class=\"show-ans-btn\" data-show=\"18\">&#128065; Show<\/button><\/div>\n      <div class=\"form-row\"><label><b>19.<\/b> Address: ___ Street<\/label><input class=\"input-blank\" data-q=\"19\" type=\"text\" placeholder=\"(spell exactly)\"><button class=\"show-ans-btn\" data-show=\"19\">&#128065; Show<\/button><\/div>\n      <div class=\"form-row\"><label><b>20.<\/b> Bring some:<\/label><input class=\"input-blank\" data-q=\"20\" type=\"text\"><button class=\"show-ans-btn\" data-show=\"20\">&#128065; Show<\/button><\/div>\n    <\/div>\n\n    <div class=\"notes-pad\">\n      <label>&#9999;&#65039; My notes for Part 4 (not graded)<\/label>\n      <textarea placeholder=\"Take notes while listening...\"><\/textarea>\n    <\/div>\n\n    <div class=\"transcript-card collapsed\" id=\"ts4\">\n      <div class=\"ts-head\" data-toggle=\"ts4\"><span>&#128220; Part 4 transcript<\/span><span class=\"chev\">&#9662;<\/span><\/div>\n      <div class=\"ts-body\">\n<p>Jeremy: Hello.<br>\nKate: Hi Jeremy. It&#8217;s Kate. I&#8217;m going to have a party next week. Would you like to come to it?<br>\nJeremy: A party &#8212; that&#8217;s great. What&#8217;s it for?<br>\nKate: It&#8217;s my birthday on Wednesday &#8212; I&#8217;m going to be seventeen.<br>\nJeremy: Oh dear &#8212; I can&#8217;t come on Wednesday. Kate: No &#8212; my birthday&#8217;s Wednesday, but the <b>party&#8217;s on Friday<\/b>. (Q16 = Friday)<br>\nJeremy: Oh, that&#8217;s OK. What time will it begin? Kate: At <b>eight thirty<\/b>. (Q17 = 8.30)<br>\nKate: It&#8217;s going to be at the <b>London Hotel<\/b>. Do you know where that is? Jeremy: Let me think &#8212; the London Hotel. No, I don&#8217;t. (Q18 = London Hotel)<br>\nKate: Well, it&#8217;s near the town centre on <b>Shindy Street<\/b>. Jeremy: Could you spell that for me? Kate: Yeah, sure. It&#8217;s <b>S-H-I-N-D-Y<\/b> &#8212; Shindy Street. (Q19 = SHINDY)<br>\nJeremy: OK. I can find that. I&#8217;ve got a map. Can I bring anything? Kate: Well, I need a lot of <b>pencils<\/b> for a game we&#8217;re going to play. Jeremy: OK. I&#8217;ll bring some pencils. (Q20 = pencils)<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- PART 5 -->\n<section class=\"part-section\" id=\"part5\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">5<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 21&#8211;25 &#183; 16:57 in audio<\/span>\n        <h2 class=\"serif\">Cinema &#8212; North London Arts Cinema<\/h2>\n        <p>You will hear some information about a cinema. Listen and complete the form (21&#8211;25). You will hear the information twice.<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"part-actions\">\n      <button class=\"act-pill\" data-time=\"1017\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\"><polygon points=\"5 3 19 12 5 21 5 3\"\/><\/svg> Replay Part 5<\/button>\n      <button class=\"act-pill ts-toggle\" data-target=\"ts5\">&#128220; Transcript<\/button>\n    <\/div>\n\n    <div class=\"form-card\">\n      <h4>&#127916; CINEMA<\/h4>\n      <div class=\"form-row\"><label>Name of cinema:<\/label><span style=\"font-weight:600\">North London Arts Cinema<\/span><\/div>\n      <div class=\"form-row\"><label><b>21.<\/b> Next week&#8217;s film: ___ Meeting<\/label><input class=\"input-blank\" data-q=\"21\" type=\"text\" placeholder=\"film title word\"><button class=\"show-ans-btn\" data-show=\"21\">&#128065; Show<\/button><\/div>\n      <div class=\"form-row\"><label><b>22.<\/b> from: Monday to ___<\/label><input class=\"input-blank\" data-q=\"22\" type=\"text\" placeholder=\"day of week\"><button class=\"show-ans-btn\" data-show=\"22\">&#128065; Show<\/button><\/div>\n      <div class=\"form-row\"><label><b>23.<\/b> times: 6.45 p.m. and ___<\/label><input class=\"input-blank\" data-q=\"23\" type=\"text\" placeholder=\"time\"><button class=\"show-ans-btn\" data-show=\"23\">&#128065; Show<\/button><\/div>\n      <div class=\"form-row\"><label><b>24.<\/b> Student ticket costs: &#163;___<\/label><input class=\"input-blank\" data-q=\"24\" type=\"text\" placeholder=\"price\"><button class=\"show-ans-btn\" data-show=\"24\">&#128065; Show<\/button><\/div>\n      <div class=\"form-row\"><label><b>25.<\/b> Nearest car park: ___ Street<\/label><input class=\"input-blank\" data-q=\"25\" type=\"text\" placeholder=\"(spell exactly)\"><button class=\"show-ans-btn\" data-show=\"25\">&#128065; Show<\/button><\/div>\n    <\/div>\n\n    <div class=\"notes-pad\">\n      <label>&#9999;&#65039; My notes for Part 5 (not graded)<\/label>\n      <textarea placeholder=\"Take notes while listening...\"><\/textarea>\n    <\/div>\n\n    <div class=\"transcript-card collapsed\" id=\"ts5\">\n      <div class=\"ts-head\" data-toggle=\"ts5\"><span>&#128220; Part 5 transcript<\/span><span class=\"chev\">&#9662;<\/span><\/div>\n      <div class=\"ts-body\">\n<p>Woman: Thank you for calling the North London Arts Cinema, Wood Green. There is no one to answer your call at the moment.<br>\nThe North London Arts Cinema is open seven days a week, showing a variety of British and foreign films.<br>\nNext week we will show an Italian film called <b>Midnight Meeting<\/b>. It is set in Milan in the 1950s. (Q21 = Midnight)<br>\nYou can see that film from <b>Monday to Thursday<\/b>. (Q22 = Thursday)<br>\nIt will be on twice a day in the evenings. That&#8217;s at <b>6.45 and 9.15<\/b>. The film lasts two hours and fifteen minutes. (Q23 = 9.15)<br>\nTickets are &#163;4, but there is a special <b>student ticket at &#163;2.80<\/b> for all our midweek films. Please bring your student card if you want the cheaper ticket. (Q24 = 2.80)<br>\nThe nearest car park to the cinema is in <b>Hauxton Street<\/b>. That&#8217;s <b>H-A-U-X-T-O-N<\/b>. It&#8217;s just five minutes&#8217; walk from the cinema. (Q25 = HAUXTON)<br>\nThank you for calling. If you require further information, phone during office hours &#8212; 9 a.m. to 4.30 p.m., Monday to Friday.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- SUBMIT PANEL AT BOTTOM -->\n<div class=\"wrap\">\n  <div class=\"submit-panel\">\n    <h3>&#127919; Finished all 25 questions?<\/h3>\n    <p class=\"intro\">Submit to grade your whole test, OR you&#8217;ve already used &#128065; Show Answer on each question.<\/p>\n    <div class=\"sp-buttons\">\n      <button class=\"btn-submit-big\" id=\"submitBtn\">\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.8\" stroke-linecap=\"round\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n        Submit &amp; Grade All\n      <\/button>\n      <button class=\"btn-reset-big\" id=\"resetBtn\">&#128260; Reset Test<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"results-banner\" id=\"resultsBanner\">\n    <h3>&#127911; Your KET 2 Listening &#8212; Test 4 score<\/h3>\n    <div class=\"score-big\"><span id=\"finalScore\">0<\/span>\/25<\/div>\n    <p id=\"resultsMsg\">Great work!<\/p>\n    <div class=\"score-parts\" id=\"scoreParts\"><\/div>\n  <\/div>\n<\/div>\n\n<footer class=\"footer\">\n  <div class=\"wrap\">\n    <p>&#169; 2026 All English 4U &#183; <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">All Cambridge Tests<\/a> &#183; <a href=\"https:\/\/allenglish4u.com\/cambridge-ket-2-test-1-rw\/\">KET 2 Test 1 Reading &amp; Writing<\/a> &#183; <a href=\"https:\/\/allenglish4u.com\/contact\/\">Contact<\/a><\/p>\n  <\/div>\n<\/footer>\n\n<script>\n(function(){\nvar hdr=document.getElementById('hdr');\nfunction setSolid(){if(window.scrollY>40)hdr.classList.add('solid');else hdr.classList.remove('solid')}\nwindow.addEventListener('scroll',setSolid,{passive:true});setSolid();\n\nvar hamb=document.getElementById('hamb'),drawer=document.getElementById('drawer'),dClose=document.getElementById('drawerClose');\nif(hamb)hamb.addEventListener('click',function(){drawer.classList.add('open')});\nif(dClose)dClose.addEventListener('click',function(){drawer.classList.remove('open')});\nif(drawer)drawer.addEventListener('click',function(e){if(e.target===drawer)drawer.classList.remove('open')});\n\n\/\/ YouTube API\nvar ytReady=false, ytPlayer=null;\nvar tag=document.createElement('script'); tag.src='https:\/\/www.youtube.com\/iframe_api';\ndocument.head.appendChild(tag);\nwindow.onYouTubeIframeAPIReady=function(){\n  ytPlayer=new YT.Player('ytPlayer',{events:{onReady:function(){ytReady=true}}});\n};\nfunction ytSeek(sec){\n  if(ytReady){ ytPlayer.seekTo(sec, true); ytPlayer.playVideo(); }\n  else{ var f=document.getElementById('ytPlayer'); f.src=f.src.split('?')[0]+'?enablejsapi=1&list=PLmmEx97WdP1QQUqxSoEdjUE1gVdxqE8Ce&rel=0&autoplay=1&start='+sec; }\n}\nfunction ytPause(){ if(ytReady)ytPlayer.pauseVideo(); }\nfunction ytPlay(){ if(ytReady)ytPlayer.playVideo(); }\nfunction ytRewind(){ if(ytReady){ var t=ytPlayer.getCurrentTime(); ytPlayer.seekTo(Math.max(0,t-10),true); } }\nfunction ytRate(r){ if(ytReady)ytPlayer.setPlaybackRate(r); }\n\ndocument.querySelectorAll('.jump-btn').forEach(function(b){\n  b.addEventListener('click',function(){\n    var t=parseInt(b.dataset.time);\n    ytSeek(t);\n    document.querySelectorAll('.jump-btn').forEach(function(x){x.classList.remove('active')});\n    b.classList.add('active');\n    if(b.dataset.part)if(b.dataset.part!=='intro'){\n      var sec=document.getElementById('part'+b.dataset.part);\n      if(sec)sec.scrollIntoView({behavior:'smooth',block:'start'});\n    }\n  });\n});\ndocument.querySelectorAll('.act-pill[data-time]').forEach(function(b){\n  b.addEventListener('click',function(){ ytSeek(parseInt(b.dataset.time)); });\n});\ndocument.getElementById('btnPause').addEventListener('click',ytPause);\ndocument.getElementById('btnPlay').addEventListener('click',ytPlay);\ndocument.getElementById('btnRewind').addEventListener('click',ytRewind);\ndocument.getElementById('btnSlower').addEventListener('click',function(){ytRate(0.75)});\ndocument.getElementById('btnNormal').addEventListener('click',function(){ytRate(1)});\n\ndocument.querySelectorAll('.ts-toggle, .ts-head').forEach(function(b){\n  b.addEventListener('click',function(){\n    var target=b.dataset.target||b.dataset.toggle;\n    if(!target){ var card=b.closest('.transcript-card'); if(card)target=card.id; }\n    var card=document.getElementById(target);\n    if(card)card.classList.toggle('collapsed');\n  });\n});\n\n\/\/ ===== DATA =====\n\/\/ Part 1: image-MCQ (image inserted via data URL placeholder)\nvar P1 = [\n  {n:1, q:\"What was the weather like on Wednesday?\", img:'https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/t4t_q1.jpg', opts:[['A','rain (a.m.) + sun (p.m.)'],['B','sun (a.m.) + rain (p.m.)'],['C','sun all day']], ans:'B'},\n  {n:2, q:\"How much did Mark's pullover cost?\", img:'https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/t4t_q2.jpg', opts:[['A','\\u00A314.99'],['B','\\u00A340.99'],['C','\\u00A344.99']], ans:'A'},\n  {n:3, q:'What did Raquel buy today?', img:'https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/t4t_q3.jpg', opts:[['A','a jacket'],['B','a skirt'],['C','boots']], ans:'C'},\n  {n:4, q:'How many students are there at the college?', img:'https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/t4t_q4.jpg', opts:[['A','300'],['B','600'],['C','750']], ans:'C'},\n  {n:5, q:'What is David going to buy?', img:'https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/06\/t4t_q5.jpg', opts:[['A','a book'],['B','a book + CD'],['C','a CD']], ans:'A'},\n];\n\n\/\/ Part 2: matching (people \\u2192 places A-H)\nvar P2 = [\n  {n:6,  person:'Saturday afternoon', ans:'B', why:\"\\\"He's going to the football match in the afternoon\\\" (B = football match)\"},\n  {n:7,  person:'Saturday evening',   ans:'D', why:'birthday party at half past seven, Mrs Carter will bring him home (D = party)'},\n  {n:8,  person:'Sunday morning',     ans:'A', why:\"got a cold so no swimming \\u2014 \\\"he'd like a bicycle ride\\\" (A = bicycle ride)\"},\n  {n:9,  person:'Sunday afternoon',   ans:'G', why:'father wants to take Simon to the park in the afternoon (G = the park)'},\n  {n:10, person:'Sunday evening',     ans:'H', why:'quiet evening watching TV \\u2014 too tired for cinema (H = watching television)'},\n];\n\n\/\/ Part 3: MCQ\nvar P3 = [\n  {n:11, q:'How many times has Chloe been sailing before?', opts:[['A','never'],['B','once'],['C','twice']], ans:'A'},\n  {n:12, q:'How much can Chloe spend?', opts:[['A','\\u00A3300'],['B','\\u00A3380'],['C','\\u00A3450']], ans:'B'},\n  {n:13, q:'Chloe will go in:', opts:[['A','August.'],['B','September.'],['C','October.']], ans:'B'},\n  {n:14, q:'Chloe would like to sail on:', opts:[['A','a lake.'],['B','the sea.'],['C','a river.']], ans:'A'},\n  {n:15, q:'How does Chloe want to pay?', opts:[['A','by cheque'],['B','with cash'],['C','by credit card']], ans:'C'},\n];\n\n\/\/ Part 4 inputs\nvar P4Ans = {\n  16:{accepted:['friday','on friday','fri'], display:'Friday'},\n  17:{accepted:['8.30','8:30','eight thirty','half past eight','8.30 p.m.','8.30pm','8:30 pm','830'], display:'8.30 \/ half past eight \/ eight thirty'},\n  18:{accepted:['london hotel','the london hotel','london'], display:'London Hotel'},\n  19:{accepted:['shindy','shindy street','s-h-i-n-d-y'], display:'SHINDY'},\n  20:{accepted:['pencil','pencils','some pencils','a lot of pencils'], display:'pencil(s)'}\n};\n\/\/ Part 5 inputs\nvar P5Ans = {\n  21:{accepted:['midnight','midnight meeting','the midnight'], display:'Midnight (Meeting)'},\n  22:{accepted:['thursday','thur','thurs','on thursday'], display:'Thursday'},\n  23:{accepted:['9.15','9:15','nine fifteen','quarter past nine','quater past nine','9.15 p.m.','9.15pm','9:15 pm','915'], display:'9.15 \/ quarter past nine'},\n  24:{accepted:['2.80','2,80','\\u00A32.80','two pounds eighty','2.80 pounds','280'], display:'2.80 \/ \\u00A32.80'},\n  25:{accepted:['hauxton','hauxton street','h-a-u-x-t-o-n'], display:'HAUXTON'}\n};\n\n\/\/ ===== Render =====\nfunction esc(s){return String(s).replace(\/[&<>\"']\/g,function(c){return{'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]})}\n\n\/\/ Part 1: image-MCQ\n(function(){\n  var list=document.getElementById('part1List');\n  P1.forEach(function(q){\n    var div=document.createElement('div'); div.className='q-item'; div.id='q'+q.n; div.dataset.qid=q.n;\n    var optsHTML='';\n    q.opts.forEach(function(o){\n      optsHTML += '<label class=\"opt\" data-letter=\"'+o[0]+'\"><input type=\"radio\" name=\"q'+q.n+'\" value=\"'+o[0]+'\"><span class=\"opt-letter\">'+o[0]+'<\/span> '+esc(o[1])+'<\/label>';\n    });\n    div.innerHTML = '<div class=\"q-text\"><b class=\"qn\">'+q.n+'.<\/b><span>'+esc(q.q)+'<\/span><\/div>'+\n                    '<div class=\"q-img-row\"><img decoding=\"async\" src=\"'+q.img+'\" alt=\"Question '+q.n+' image\" loading=\"lazy\"><\/div>'+\n                    '<div class=\"q-opts\">'+optsHTML+'<\/div>'+\n                    '<div class=\"feedback\"><\/div>'+\n                    '<div class=\"q-bottom\"><button class=\"show-ans-btn\" data-show=\"'+q.n+'\">\\u{1F441} Show Answer<\/button><\/div>';\n    list.appendChild(div);\n  });\n})();\n\n\/\/ Part 2 matching: each person \\u2192 A-H\n(function(){\n  var list=document.getElementById('part2List');\n  P2.forEach(function(q){\n    var div=document.createElement('div'); div.className='q-item'; div.id='q'+q.n; div.dataset.qid=q.n;\n    var optsHTML='';\n    ['A','B','C','D','E','F','G','H'].forEach(function(L){\n      optsHTML += '<label class=\"opt\" data-letter=\"'+L+'\"><input type=\"radio\" name=\"q'+q.n+'\" value=\"'+L+'\"><span class=\"opt-letter\">'+L+'<\/span><\/label>';\n    });\n    div.innerHTML = '<div class=\"q-text\"><b class=\"qn\">'+q.n+'.<\/b><span>'+esc(q.person)+'<\/span><\/div>'+\n                    '<div class=\"q-opts\">'+optsHTML+'<\/div>'+\n                    '<div class=\"feedback\"><\/div>'+\n                    '<div class=\"q-bottom\"><button class=\"show-ans-btn\" data-show=\"'+q.n+'\">\\u{1F441} Show Answer<\/button><\/div>';\n    list.appendChild(div);\n  });\n})();\n\n\/\/ Part 3: text MCQ\n(function(){\n  var list=document.getElementById('part3List');\n  P3.forEach(function(q){\n    var div=document.createElement('div'); div.className='q-item'; div.id='q'+q.n; div.dataset.qid=q.n;\n    var optsHTML='';\n    q.opts.forEach(function(o){\n      optsHTML += '<label class=\"opt\" data-letter=\"'+o[0]+'\"><input type=\"radio\" name=\"q'+q.n+'\" value=\"'+o[0]+'\"><span class=\"opt-letter\">'+o[0]+'<\/span> '+esc(o[1])+'<\/label>';\n    });\n    div.innerHTML = '<div class=\"q-text\"><b class=\"qn\">'+q.n+'.<\/b><span>'+esc(q.q)+'<\/span><\/div>'+\n                    '<div class=\"q-opts\">'+optsHTML+'<\/div>'+\n                    '<div class=\"feedback\"><\/div>'+\n                    '<div class=\"q-bottom\"><button class=\"show-ans-btn\" data-show=\"'+q.n+'\">\\u{1F441} Show Answer<\/button><\/div>';\n    list.appendChild(div);\n  });\n})();\n\n\/\/ Wire opt clicks\ndocument.querySelectorAll('.opt').forEach(function(opt){\n  opt.addEventListener('click',function(e){\n    e.preventDefault();\n    var input=opt.querySelector('input');\n    var group=opt.parentElement;\n    group.querySelectorAll('.opt').forEach(function(o){o.classList.remove('selected')});\n    opt.classList.add('selected');\n    input.checked=true;\n    updateProgress();\n  });\n});\ndocument.querySelectorAll('.input-blank').forEach(function(el){\n  el.addEventListener('input',updateProgress);\n});\n\nfunction getMcq(qid){var s=document.querySelector('input[name=\"q'+qid+'\"]:checked'); return s?s.value:null}\nfunction getInp(qid){var el=document.querySelector('.input-blank[data-q=\"'+qid+'\"]'); return el?el.value.trim().toLowerCase().replace(\/[.,]$\/,''):''}\nfunction answered(){\n  var n=0;\n  for(var i=1;i<=15;i++)if(getMcq(i))n++;\n  for(var j=16;j<=25;j++)if(getInp(j))n++;\n  return n;\n}\nfunction updateProgress(){\n  var a=answered();\n  document.getElementById('answeredCount').textContent=a;\n  document.getElementById('progFill').style.width=(a\/25*100)+'%';\n}\n\n\/\/ ===== Show Answer per question =====\ndocument.body.addEventListener('click',function(e){\n  var btn=e.target.closest('.show-ans-btn');\n  if(!btn)return;\n  var qid=parseInt(btn.dataset.show);\n  showAnswerFor(qid);\n});\n\nfunction showAnswerFor(qid){\n  \/\/ MCQ parts 1, 2, 3 (1-15)\n  if(qid<=15){\n    var item=document.getElementById('q'+qid);\n    if(!item)return;\n    var allParts=[].concat(P1,P2,P3);\n    var q=allParts.find(function(x){return x.n===qid});\n    if(!q)return;\n    var correctAns=q.ans;\n    item.classList.add('revealed');\n    item.querySelectorAll('.opt').forEach(function(o){\n      if(o.dataset.letter===correctAns)o.classList.add('correct-opt');\n    });\n    var fb=item.querySelector('.feedback');\n    if(fb){fb.textContent='\\u{1F441} Answer: '+correctAns+(q.why?' \\u2014 '+q.why:'');}\n  } else {\n    \/\/ Part 4\/5 inputs\n    var el=document.querySelector('.input-blank[data-q=\"'+qid+'\"]');\n    var ansObj = (qid<=20)?P4Ans[qid]:P5Ans[qid];\n    if(!el||!ansObj)return;\n    el.value = ansObj.display;\n    el.classList.add('revealed');\n    updateProgress();\n  }\n}\n\n\/\/ ===== Submit &#038; Grade ALL =====\ndocument.getElementById('submitBtn').addEventListener('click',function(){\n  var score=0, partScores={1:0,2:0,3:0,4:0,5:0};\n  \/\/ Parts 1+3 MCQ\n  [P1,P3].forEach(function(part){\n    part.forEach(function(q){\n      var v=getMcq(q.n), item=document.getElementById('q'+q.n);\n      if(!item)return;\n      item.classList.add('answered');\n      item.querySelectorAll('.opt').forEach(function(o){\n        var L=o.dataset.letter;\n        if(L===q.ans)o.classList.add('correct-opt');\n        if(v===L)if(L!==q.ans)o.classList.add('wrong-opt');\n      });\n      var fb=item.querySelector('.feedback');\n      if(v===q.ans){score++; item.classList.add('correct'); fb.textContent='\\u2714 Correct \\u2014 '+q.ans; if(q.n<=5)partScores[1]++; else partScores[3]++;}\n      else{item.classList.add('wrong'); fb.textContent='\\u2718 Wrong \\u2014 correct: '+q.ans+(v?' (you chose '+v+')':' (no answer)')}\n    });\n  });\n  \/\/ Part 2 matching\n  P2.forEach(function(q){\n    var v=getMcq(q.n), item=document.getElementById('q'+q.n);\n    if(!item)return;\n    item.classList.add('answered');\n    item.querySelectorAll('.opt').forEach(function(o){\n      var L=o.dataset.letter;\n      if(L===q.ans)o.classList.add('correct-opt');\n      if(v===L)if(L!==q.ans)o.classList.add('wrong-opt');\n    });\n    var fb=item.querySelector('.feedback');\n    if(v===q.ans){score++; partScores[2]++; item.classList.add('correct'); fb.textContent='\\u2714 Correct \\u2014 '+q.ans+' ('+q.why+')';}\n    else{item.classList.add('wrong'); fb.textContent='\\u2718 Wrong \\u2014 correct: '+q.ans+' ('+q.why+')'}\n  });\n  \/\/ Part 4\n  Object.keys(P4Ans).forEach(function(qid){\n    var v=getInp(qid), el=document.querySelector('.input-blank[data-q=\"'+qid+'\"]'), ao=P4Ans[qid];\n    if(!el)return;\n    if(el.classList.contains('revealed'))return; \/\/ skip revealed\n    var ok=ao.accepted.indexOf(v)>=0;\n    if(ok){score++; partScores[4]++; el.classList.add('correct')} else {el.classList.add('wrong'); el.title='Correct: '+ao.display}\n  });\n  \/\/ Part 5\n  Object.keys(P5Ans).forEach(function(qid){\n    var v=getInp(qid), el=document.querySelector('.input-blank[data-q=\"'+qid+'\"]'), ao=P5Ans[qid];\n    if(!el)return;\n    if(el.classList.contains('revealed'))return;\n    var ok=ao.accepted.indexOf(v)>=0;\n    if(ok){score++; partScores[5]++; el.classList.add('correct')} else {el.classList.add('wrong'); el.title='Correct: '+ao.display}\n  });\n\n  document.getElementById('scoreNow').textContent=score;\n  document.getElementById('finalScore').textContent=score;\n  var pct=Math.round(score\/25*100);\n  var msg = pct>=85 ? '\\u{1F3C6} Excellent! Your listening is strong.'\n          : pct>=70 ? '\\u{1F44D} Good job! A few more tests and you will be ready.'\n          : pct>=50 ? '\\u{1F4DA} Keep practising \\u2014 re-listen to the parts where you missed answers.'\n          : '\\u{1F4AA} Don\\u2019t worry. Try slowing the audio (\\u{1F422}) and use the transcript to study.';\n  document.getElementById('resultsMsg').textContent=msg;\n  var sp = document.getElementById('scoreParts');\n  sp.innerHTML = '';\n  for(var p=1;p<=5;p++){\n    sp.innerHTML += '<div class=\"sp-item\"><b>'+partScores[p]+'\/5<\/b>Part '+p+'<\/div>';\n  }\n  document.getElementById('resultsBanner').classList.add('show');\n  setTimeout(function(){document.getElementById('resultsBanner').scrollIntoView({behavior:'smooth',block:'center'})},120);\n});\n\ndocument.getElementById('resetBtn').addEventListener('click',function(){\n  if(!confirm('Reset all answers? Your notes will also be cleared.'))return;\n  location.reload();\n});\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>All English 4U Grammar IELTS TOEFL Cambridge CELPIP Dictation Back Grammar IELTS TOEFL Cambridge CELPIP Dictation Cambridge English &#183; Key (KET) KET 2 &#8212; Test 4 Listening KET 2 Test 4 Listening &#8212; 5 parts, 25 questions. YouTube audio with jump-to-part buttons. Each question has its own Show Answer button + bottom submit panel for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-title","meta":{"footnotes":""},"class_list":["post-1179","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/1179","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/comments?post=1179"}],"version-history":[{"count":4,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/1179\/revisions"}],"predecessor-version":[{"id":5965,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/1179\/revisions\/5965"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=1179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}