require("luasnip.session.snippet_collection").clear_snippets("php")
require("luasnip.session.snippet_collection").clear_snippets("yaml")
local ls = require("luasnip")
local s = ls.snippet
local t = ls.text_node
local fmt = require("luasnip.extras.fmt").fmt
local fmta = require("luasnip.extras.fmt").fmta
ls.add_snippets("php", {
s(
"createnodes",
fmt(
[[
$this->createNode(['type' => 'talk']);
$this->createNode(['type' => 'talk']);
]],
{}
)
),
s(
"pagecontroller",
fmta(
[[
<entityTypeManager->getStorage('node')->loadByProperties();
return count($talks);
}}
]],
{}
)
),
s(
"repotestclass",
fmta(
[[
<container->get(TalkNodeRepository::class);
self::assertSame(2, $talkRepository->getCount());
}}
]],
{}
)
),
s(
"showconstructor",
fmta(
[[
public function __construct(private TalkNodeRepository $talkRepository) {
}
]],
{}
)
),
s(
"showcount",
fmt(
[[
$talkCount = 2;
return ['#markup' => $this->t(':count talks', [':count' => $talkCount])];
]],
{}
)
),
s("showrepository", t("$talkCount = $this->talkRepository->getCount();")),
s(
"test200response",
fmt(
[[
public function test_it_returns_a_200_response_code(): void {{
$this->drupalGet('/talks');
$session = $this->assertSession();
$session->statusCodeEquals(Response::HTTP_OK);
}}
]],
{}
)
),
s(
"testclass",
fmt(
[[
drupalGet('/talks');
$session = $this->assertSession();
$session->responseContains('2 talks');
}}
]],
{}
)
),
s("testmodules", t("protected static $modules = ['opdavies_talks'];")),
})
ls.add_snippets("yaml", {
s(
"talkpage",
fmt(
[[
opdavies_talks.page:
path: /talks
defaults:
_controller: Drupal\opdavies_talks\Controller\TalksPageController
_title: Talks
requirements:
_permission: access content
]],
{}
)
),
s(
"talkservices",
fmt(
[[
services:
Drupal\opdavies_talks\Controller\TalksPageController:
autowire: true
Drupal\opdavies_talks\Repository\TalkNodeRepository: []
]],
{}
)
),
})